从不同的多个文件输入中分别获取文件

时间:2014-06-11 10:45:12

标签: c# .net razor file-upload file-io

假设我有一个html表单

<form id="frm" method="post" action="upload.cshtml" enctype="multipart/form-data">
    <input multiple type="file" name="file1" />
    <input multiple type="file" name="file2" />
    <input type="submit" />
</form>

from有两个输入,每个输入接受多个文件。提交此表单时,Request.Files["file1"]将仅提供file1输入中的第一个文件。为了访问其余文件,我必须在循环中迭代Request.Files []。然而,后一种方法给出了两个输入的所有文件。如何单独获取文件以便我可以对不同的文件集执行不同的操作?

1 个答案:

答案 0 :(得分:0)

最简单的方法是为操作方法定义适当的参数:

public ActionResult Upload(IEnumerable<HttpPostedFileBase> file1, 
    IEnumerable<HttpPostedFileBase> file2)
{
    // process file1 and file2
}

file1枚举将包含名称为file1的输入中的所有文件,file2包含来自file2的文件。