文件上传
准备工作 1.文件上传的页面 2.上传文件要保存的文件夹
1.只要将文件传上来就行
//1、获取要上传的文件,并且知道要上传到服务器的路径 string s = "Uploads/aaa.txt";
//2、生成绝对路径 string path = Server.MapPath(s);
//3、上传 FileUpload1.SaveAs(path);
问题:文件类型保存不住,名字无法修改,覆盖已上传的文件
优化1:保留文件原有的名字 解决:把路径中的文件名替换为控件选中的文件名 string s = "Uploads/" + FileUpload1.FileName;
问题:文件名一样,会覆盖,造成文件丢失
解决:文件名拼接时间和用户名 string s = "Uploads/" + DateTime.Now.ToString("yyyyMMddhhmmssms") + Request.Cookies["user"].Value + FileUpload1.FileName;
问题:文件过大,但是还要上传 解决:不是特别大可以更改请求最大长度, 如果特别大:C#大文件断点续传
扩容:在web.config中的<system.web>标记中 <httpRuntime maxRequestLength="40960"/>
解决:限制上传文件的大小 服务端限制: if (FileUpload1.PostedFile.ContentLength > 1024 * 1024 * 4)
{ Label1.Text = "文件过大!"; return; }
客户端限制: fl.files[0].size > 1024 * 1024 * 4
问题:限制上传文件的类型 <asp:FileUpload ID="FileUpload1" accept=".jpg,.jpeg,.png" runat="server" />