服务端接收客户端上传的文件时,需要用HttpFileCollection来接收多个文件,每个文件都是个HttpPostedFile对象,之后通过SaveAs方法接收文件并保存在服务器上。
常用属性包括:
常用方法是SaveAs, 使用方式:
1 file.SaveAs(Server.MapPath("Upload/"+ FileName));
完整代码:
1 HttpFileCollection files = System.Web.HttpContext.Current.Request.Files; 2 if (files.Count > 0) 3 { 4 for (int i = 0; i < files.Count; i++) 5 { 6 HttpPostedFile file = files[i]; 7 file.SaveAs(Server.MapPath("Upload/"+ FileName)); 8 } 9 }
当用form提交数据时,form要加上enctype = "multipart/form-data"属性,否则后台可能取不到数据,即files.Count为0。
1 <form action="/Home/GetForm" method="post" enctype="multipart/form-data"> 2 <p><input type="file" name="file1" value="" /></p> 3 <p><input type="file" name="file2" value="" /></p> 4 <p><input type="submit" value="提交" /></p> 5 </form>
更多方法、属性等信息,请浏览微软官方文档。
https://docs.microsoft.com/en-us/dotnet/api/system.web.httppostedfile?view=netframework-4.8
【原文出处】