【发布时间】:2013-06-13 11:17:33
【问题描述】:
我目前正在尝试处理来自两个不同<input type="file"/>s 的两个不同文件的上传。
例如:
@using (Html.BeginForm("AddIssue", "Magazine", FormMethod.Post, new { enctype = "multipart/form-data" }))
{
<fieldset>
<div class="editor-field">
<div class="editor-label">Issue: </div>
<input type="file" name="issueFile" id="issueFile"/>
</div>
<div class="editor-field">
<div class="editor-label">Cover: </div>
<input type="file" name="issueCover" id="issueCover"/>
</div>
<button type="submit">Save</button>
</fieldset>
}
我已经弄清楚如何从一个输入中接收一个(或多个)文件,但找不到任何有关如何从多个输入中接收文件的适当信息。
我已经有一个 POST 方法,但不知道我应该在 post 上收到什么。
[HttpPost, Authorize]
public ActionResult AddIssue(string dummy)
{ }
【问题讨论】:
-
什么不起作用?你的控制器代码是什么样的?从这段代码中我看不出任何明显的问题
-
控制器动作方法是什么样的?当它包含两个文件参数时会发生什么?
-
如果我尝试传递两个 HttpPostedFileBase 实例,就像我从单个输入接收单个文件一样,我得到两个空引用,还有 HttpPostedFileBase 数组 - 相同。
-
更多,获取文件数据的代码在哪里?您应该可以为此添加参数,如下所示:
AddIssue(HttpPostedFileBase issueFile, HttpPostedFileBase issueCover) -
Tnx,musefan,让我大开眼界。我忘记了(因为我只是在学习),两个参数都必须具有与输入相同的名称/ID。
标签: c# asp.net-mvc-4 file-upload