Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/287.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从不同的多个文件输入中分别获取文件_C#_.net_Razor_File Upload_File Io - Fatal编程技术网

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

C# 从不同的多个文件输入中分别获取文件,c#,.net,razor,file-upload,file-io,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" /> </f

假设我有一个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[]。然而,后一种方法给出了两个输入的所有文件。如何分别获取文件,以便对不同的文件集执行不同的操作?

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

public ActionResult Upload(IEnumerable<HttpPostedFileBase> file1, 
    IEnumerable<HttpPostedFileBase> file2)
{
    // process file1 and file2
}
公共操作结果上传(IEnumerable文件1, IEnumerable文件2) { //处理文件1和文件2 }
file1
可枚举文件将包含输入中名为
file1
的所有文件,
file2
也将包含输入中名为
file2
的文件。这正是我刚才提到的。但是我如何区分哪些文件是file1的,哪些文件是file2的?您能演示一下在cshtml文件中如何使用这些文件吗?我从问题1:1复制了您的
,只是将操作更改为指向我的
上载
操作。顺便说一句:您应该使用
@using(Html.BeginForm()){…}
帮助程序,而不是“手动键入的表单”。