C# 从不同的多个文件输入中分别获取文件
假设我有一个html表单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
<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()){…}
帮助程序,而不是“手动键入的表单”。