首页 > 代码库 > 上传文件

上传文件

 

文件上传

准备工作 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" />

 

上传文件