我有一个页面,其中有多个文件上传输入,其ID和名称与上传的文档类型相关,如下所示:
<input type="file" name="postedFile_37" id="37">
<input type="file" name="postedFile_23" id="23">
在我的控制器中,如何识别上传的名称或ID,以便将文档分配给数据库中上传的类型?
我可以看到,例如,如果我做
Request.Files[i]
我可以看到索引的名称,但我无法获得保存的值。如何从发布的文件上传中获取名称或ID?
答案 0 :(得分:2)
尝试在每个文件旁边添加隐藏字段,这样就有两个数组 - 第一个是文件本身,第二个是id。
<input type="hidden" name="fileId" value="37" />
<input type="file" name="file" />
<input type="hidden" name="fileId" value="38" />
<input type="file" name="file" />
public ActionResult Test (string[] fileId, List<HttpPostedFileBase> file)
{
int i = 0;
foreach (var f in file)
{
var id = fileId[i]; // this is your file id, f is file
i++;
}
}
答案 1 :(得分:0)
如果使用ASP.NET FileUpload控件而不是纯HTML控件,则可以在PostBack中单独(通过ID)访问它们。