博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
webform 上传
阅读量:7027 次
发布时间:2019-06-28

本文共 2681 字,大约阅读时间需要 8 分钟。

要使用控件 - FileUpload

1、如何判断是否选中文件?
FileUpload.FileName -
选中文件的文件名,如果长度不大于0,那么说明没选中任何文件
js - f.value.length
2、如何保存到服务器上?
FileUpload.SaveAs("绝对路径");

3、如何获得绝对路径?

先编写相对路径 - "UpLoads/abc.txt"
将相对路径映射成绝对路径 - Server.MapPath("UpLoads/abc.txt");
4、现在只能上传成为txt文件,并且名字只能是abc,如何保留文件原有的名字和文件类型?
"UpLoads/" + FileUpload1.FileName;
5、如何防止重名覆盖的问题?
"UpLoads/" + Request.Cookies["user"].Value + DateTime.Now.ToString("yyyyMMddhhmmssms") + FileUpload1.FileName;
6、如何限制选中文件的类型?
限制普通人,给控件添加属性 - accept=".jpg,.png,.jpeg,.txt"
限制找事的:

1 document.getElementById("Button1").onclick = function () { 2 var fileName = document.getElementById("FileUpload1").value; 3  4 var name = fileName.substr(fileName.length - 4, 4); 5 var name1 = fileName.substr(fileName.length - 5, 5); 6 if (name != ".jpg" && name != ".png" && name != ".txt" && name1 != ".jpeg") 7 { 8 alert("请选择正确的文件!你要找事儿啊??"); 9 return false;10 } 11 };

7、控制上传文件的大小

扩容 - 系统默认允许最大上传长度是4MB
webconfig配置文件中写入

百度搜,研究,C#大文件上传,断点续传。

注意!不要扩的太多,否则多人同时上传大文件会造成服务器内存不足!
限制大小
C#端限制:

if (FileUpload1.PostedFile.ContentLength>(4*1024*1024)){Label1.Text = "文件长度过长!!!";return;}

JS端限制:

var f = document.getElementById("FileUpload1");if (f.files[0].size > (4 * 1024 * 1024)) {alert("文件过大!!!");return false;}

案例:

界面:

1 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> 2  3  4  5  6  7 
8 9 10 11
12
13
14
15
16
17
18 19 20
界面

后台:

1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Web; 5 using System.Web.UI; 6 using System.Web.UI.WebControls; 7  8 public partial class _Default : System.Web.UI.Page 9 {10     protected void Page_Load(object sender, EventArgs e)11     {12         Button1.Click += Button1_Click;13     }14 15     void Button1_Click(object sender, EventArgs e)16     {17         //若为选择文件18         if (FileUpload1.FileName.Length <= 0)19         {20             Label1.Text = "请选择文件!";21             return;22         }23         //若上传文件大于设置的最大长度24         if(FileUpload1.PostedFile.ContentLength>(4*1024*1024))25         {26             Label1.Text = "文件过大!";27             return;28         }29         //上传路径30         string path = "Uploads" + DateTime.Now.ToString("yyyyMMddhhmmssms") + FileUpload1.FileName;31         string endpath = Server.MapPath(path);32         //保存到路径中33         FileUpload1.SaveAs(endpath);34 35 36     }37 }
后台:
1 
2 3
7 8
9 10
11
12
13
14 15
Web.config

 

转载于:https://www.cnblogs.com/maxin991025-/p/6255481.html

你可能感兴趣的文章
Hadoop生态圈-phoenix的视图(view)管理
查看>>
monitor disk
查看>>
BootStrap学习笔记JS插件(一)--模态弹出框
查看>>
Q:链表的中间元素
查看>>
this函数的理解
查看>>
你不知道的函数节流,提高你的JS性能!
查看>>
headfirst设计模式(1)—策略模式
查看>>
[Android Pro] 创建快捷方式,删除快捷方式,查询是否存在快捷方式
查看>>
python基础之文件读写
查看>>
斐波那契递归的优化及指数计算的优化
查看>>
java.lang.NoSuchMethodException: tk.mybatis.mapper.provider.base.BaseSelectProvider.<init>()
查看>>
mysql 相关2
查看>>
使用包时,报 xxx.default is not a function
查看>>
Java单例模式
查看>>
大白话理解promise对象
查看>>
Oracle 物理结构(七) 文件-归档日志文件
查看>>
shell中的${},##和%%的使用
查看>>
【网络协议】ICMP协议、Ping、Traceroute
查看>>
今晚19:30直播阿里巴巴大规模持续集成的技术演进之路_欢迎免费观看
查看>>
最长公共子序列-golang
查看>>