asp.net 和 input type=file 从后面的代码中多次读取数据

asp.net and input type=file multiple read data from code behind

我有一个

<input type="file" id="files" name="files[]" multiple runat="server" />

我不使用 asp:FileUpload,因为我需要使用 jQuery 插件来进行多张图片预览以及在上传之前删除图片。

我的问题是如何管理代码隐藏的输入数据? 我必须遍历选定的图像。我在网上搜索,没有找到任何有趣的东西...

如果我尝试,从后面的代码以这种方式读取:

 HttpPostedFile file = Request.Files["files[]"];

我看到 Request.Files.Count 总是 0。

提前致谢!

老实说,快速搜索给了我这个:

在你的 aspx 中:

<form id="form1" runat="server" enctype="multipart/form-data">
 <input type="file" id="myFile" name="myFile" />
 <asp:Button runat="server" ID="btnUpload" OnClick="btnUploadClick" Text="Upload" />
</form>

在后面的代码中:

protected void btnUploadClick(object sender, EventArgs e)
{
    HttpPostedFile file = Request.Files["myFile"];

    //check file was submitted
    if (file != null && file.ContentLength > 0)
    {
        string fname = Path.GetFileName(file.FileName);
        file.SaveAs(Server.MapPath(Path.Combine("~/App_Data/", fname)));
    }
}

更新

另一个快速搜索给了我这个,如果你有多个文件,那么获取所有文件的解决方案是:

for (int i = 0; i < Request.Files.Count; i++)
{
    HttpPostedFileBase file = Request.Files[i];
    if(file .ContentLength >0){
    //saving code here

 }