C# 使用HttpContext获取模型(MVC 3)中每种语言的文件,并将其保存在单独的表中

C# 使用HttpContext获取模型(MVC 3)中每种语言的文件,并将其保存在单独的表中,c#,asp.net-mvc,asp.net-mvc-3,model-view-controller,C#,Asp.net Mvc,Asp.net Mvc 3,Model View Controller,我有一段简单的HTML代码: <div> <input type="file" name="english-file" /> </div> <div> <input type="file" name="french-file" /> </div> 但该对象总是返回null 当然,我可以使用HttpContext.Current.Request.Files,但我想按语言分离文件(上面的HTML代码很简单,但有人可

我有一段简单的HTML代码:

<div>
   <input type="file" name="english-file" />
</div>
<div>
   <input type="file" name="french-file" />
</div>
但该对象总是返回null

当然,我可以使用
HttpContext.Current.Request.Files
,但我想按语言分离文件(上面的HTML代码很简单,但有人可以使用+添加文件按钮将更多文件添加到
english
而不是
french
),并将它们保存在separate表中


我该怎么做呢?

文件不是这样上传的。在表单上设置正确的
enctype
后,您应该查看
Request.Files[“english file”]

让我们举一个例子:

@using (Html.BeginForm("upload", "somecontroller", FormMethod.Post, new { enctype = "multipart/form-data" }))
{
    <div>
        <input type="file" name="english" />
    </div>
    <div>
        <input type="file" name="french" />
    </div>

    <button type="submit">Upload</button>
}
或者更好:

[HttpPost]
public ActionResult Upload(HttpPostedFileBase english, HttpPostedFileBase french)
{
    ...
}
[HttpPost]
public ActionResult Upload(IEnumerable<HttpPostedFileBase> files)
{
    ...
}
或者更好:

[HttpPost]
public ActionResult Upload(HttpPostedFileBase english, HttpPostedFileBase french)
{
    ...
}
[HttpPost]
public ActionResult Upload(IEnumerable<HttpPostedFileBase> files)
{
    ...
}
[HttpPost]
公共操作结果上载(IEnumerable文件)
{
...
}
假设您调整了文件输入的名称:

@using (Html.BeginForm("upload", "somecontroller", FormMethod.Post, new { enctype = "multipart/form-data" }))
{
    <div>
        <input type="file" name="files" />
    </div>
    <div>
        <input type="file" name="files" />
    </div>

    <button type="submit">Upload</button>
}
@使用(Html.BeginForm(“upload”,“somecontroller”,FormMethod.Post,new{enctype=“multipart/formdata”}))
{
上传
}

我还请您阅读。

如果我想上传3个英文文件(在本例中,3个输入类型='file'name='english file',2个输入法语),您将有3个文件输入,或者如果您使用的是现代浏览器,您可以设置
multiple=“multiple”
属性,用于在对话框中选择多个文件。我指的是模型逻辑。如何查看英文文件,因为使用
var englishFile=Request.files[“english”]
您将看到第一个文件,而不是全部。@MichaelSwan,您可以使用
IEnumerable files
作为操作参数,它将为您提供一个文件列表,如我上一个示例所示。法语文件也是这样吗?