asp.net file控件multiple保存文件示例

  给file控件添加h5属性multiple时,支持h5的浏览器如chrome,firefox,IE10+(IE9虽然支持h5,但是不持支持multiple属性),可以一次性选择多个文件。

  本示例展示asp.net如何保存file控件添加了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保存文件示例
评论(0)Web开发网
阅读(307)喜欢(0)不喜欢(0)Asp.Net/C#/WCF