asp.net file控件multiple保存文件示例
给file控件添加h5属性multiple时,支持h5的浏览器如chrome,firefox,IE10+(IE9虽然支持h5,但是不持支持multiple属性),可以一次性选择多个文件。
本示例展示asp.net如何保存file控件添加了multiple属性的所有文件。
demo.html
<meta charset="utf-8" /> <title>asp.net file控件multiple保存文件示例</title> <form method="post" enctype="multipart/form-data" action="save.aspx"> <input type="file" multiple name="myfile1" /><br /> <input type="file" multiple name="myfile2" /><input type="submit" /> </form>
save.aspx
<%@ Page Language="C#" %> <script runat="server"> protected void Page_Load(object sender, EventArgs e) { HttpFileCollection files = Request.Files; HttpPostedFile f; for (int i = 0; i < files.Count; i++)//注意这样遍历,而不是使用foreach //foreach(string fn in files)//不能这样遍历,由于file控件同名,所以同一个控件中所有文件fn名称一样,为file控件name属性值 //{ f=files[fn];//由于multiple后控件名称一样名称一样,所以这里获取会是第一个file,应该使用下标来获取。 { f = files[i]; f.SaveAs(Server.MapPath( f.FileName)); //使用下标获取时,得到的f文件未包含控件name属性值,所以需要通过Keys属性获取,这样才能区分是那个控件选择的文件,将文件名保存数据库对应的字段 Response.Write(files.Keys[i] + "|" + f.FileName + "<br>"); } } </script><meta charset="utf-8" />
加支付宝好友偷能量挖...
原创文章,转载请注明出处:asp.net file控件multiple保存文件示例