C# 如何从两个文件上载控件MVC上载多个文件

C# 如何从两个文件上载控件MVC上载多个文件,c#,asp.net-mvc,file-upload,C#,Asp.net Mvc,File Upload,我遇到了一个奇怪的问题,我使用MVC在一个页面上有两个文件控件。我使用Request.files获取所有文件,但我想区分这两个控件。我想要单独的宣传册图像和不同的媒体图像。目前,我正在这样做 if (Request.Files.Count > 1 && Request.Files[1].ContentLength != 0) { for (int i = 1; i < Request.Files.Count; i++) { string

我遇到了一个奇怪的问题,我使用MVC在一个页面上有两个文件控件。我使用Request.files获取所有文件,但我想区分这两个控件。我想要单独的宣传册图像和不同的媒体图像。目前,我正在这样做

if (Request.Files.Count > 1 && Request.Files[1].ContentLength != 0)
{
    for (int i = 1; i < Request.Files.Count; i++)
    {
        string CurrentFileName = Request.Files[i].FileName;
    }
}
if(Request.Files.Count>1&&Request.Files[1].ContentLength!=0)
{
对于(int i=1;i

我使用了类似于上述代码的代码,现在我希望在上传时使用不同的图像。

您需要创建一个具有匹配参数的操作:

public ActionResult Upload(HttpPostedFileBase broacherupload, 
HttpPostedFileBase mediaupload) { }
对于多个:

public ActionResult Upload(IEnumerable<HttpPostedFileBase> broacherupload, 
IEnumerable<HttpPostedFileBase> mediaupload) { }
public ActionResult上传(IEnumerable broacherupload,
IEnumerable mediaupload){}

给每个文件输入一个
名称
属性,并为POST方法中的文件添加参数-
(HttpPostedFileBase file1,HttpPostedFileBase file2)
(或
IEnumerable
,如果输入是
多个
),谢谢@StephenMuecke,但我如何在第一个控件中上传多个图像。我尝试使用IEnumerable或HttpPostedFileBase[]。但它正在添加重复的图像。假设我添加了2个图像,我得到的计数器是4。您是否为每个文件输入了不同的名称属性(并将它们与参数名称匹配)?不确定,为什么会得到重复的图像。使用IEnumerable broacherupload,我上传了2张图片,但在broacherupload中,我得到了4张图片,请保存完整的代码。包括剃须刀设计和控制器按此
IEnumerable图像、控制器中的HttpPostedFileBase BrouchersLink
和视图中的
添加代码时,您可能做错了什么。