C# 从两个不同的输入上传两个不同的文件
我目前正在尝试处理从两个不同的C# 从两个不同的输入上传两个不同的文件,c#,asp.net-mvc-4,file-upload,C#,Asp.net Mvc 4,File Upload,我目前正在尝试处理从两个不同的上传两个不同的文件 例如: @using (Html.BeginForm("AddIssue", "Magazine", FormMethod.Post, new { enctype = "multipart/form-data" })) { <fieldset> <div class="editor-field"> <div class="editor-label">Issue: <
上传两个不同的文件
例如:
@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>
}
在评论之后,这里有一个更具体的解决方案 您需要确保控制器操作参数的名称与表单字段上的
name
属性的名称相同。这应该适合您:
public ActionResult AddIssue(HttpPostedFileBase issueFile, HttpPostedFileBase issueCover)
{ }
请记住,正是
名称
属性用于从控制器中标识字段。id
属性没有任何意义,也不必匹配。什么不起作用?您的控制器代码是什么样子的?从这段代码中我看不出任何明显的问题控制器动作方法是什么样子的?当它包含两个文件参数时会发生什么情况?如果我尝试传递两个HttpPostedFileBase实例,就像我从单个输入接收单个文件时所做的那样,我在这两个实例上都会得到null引用,HttpPostedFileBase的数组也一样。更多信息,获取文件数据的代码在哪里?您应该能够为此添加参数,如:AddIssue(HttpPostedFileBase issueFile,HttpPostedFileBase issueCover)
Tnx,musefan,以打开我的眼睛。我忘记了(我只是在学习),两个参数都必须有相同的名称/ID作为输入。非常感谢,你真的提供了帮助。之后如何按名称属性分离发布的文件。(我是新手)
public ActionResult AddIssue(HttpPostedFileBase issueFile, HttpPostedFileBase issueCover)
{ }