C# 如何将多个文件上传到C中并在MVC中循环

C# 如何将多个文件上传到C中并在MVC中循环,c#,asp.net-mvc,file-upload,C#,Asp.net Mvc,File Upload,我在将多个文件上传到C并循环它们时遇到问题。我发现了一个有类似问题的问题,但没有人回答 我通过html输入上传多个文件。文件计数传递到我的控制器,其数量与我选择的文件数量相对应。但是,当我尝试循环遍历每个文件时,它会循环遍历相对于文件计数的第一个文件。例如,如果我上传3个文件,它会在第一个文件中循环3次,或者如果我上传5个文件,它会在第一个文件中循环5次。它不应该这样做。我想让它逐个循环遍历每个文件。请帮忙!!!这是我的密码: Razor View我正在使用一个名为bootstrap files

我在将多个文件上传到C并循环它们时遇到问题。我发现了一个有类似问题的问题,但没有人回答

我通过html输入上传多个文件。文件计数传递到我的控制器,其数量与我选择的文件数量相对应。但是,当我尝试循环遍历每个文件时,它会循环遍历相对于文件计数的第一个文件。例如,如果我上传3个文件,它会在第一个文件中循环3次,或者如果我上传5个文件,它会在第一个文件中循环5次。它不应该这样做。我想让它逐个循环遍历每个文件。请帮忙!!!这是我的密码:

Razor View我正在使用一个名为bootstrap filestyle的文件输入引导库:

@using (Html.BeginForm("Initial", "DataCapture", FormMethod.Post, new { enctype = "multipart/form-data" }))
{
<div class="form-group">

   <h4>Select files</h4>
   <input type="file" multiple="multiple" id="fileToUpload" name="file">

</div>

<div>
    <input type="submit" value="Capture" class="btn btn-default" />
</div>
}
我在handleFileRequest.Files、c.ClaimID上放置断点;和文件{…}中的foreach字符串文件名。正如我所说的,如果我上传3、4、5或任意数量的文件,它会正确地通过文件计数,但是它只会循环通过第一个文件,并且多次返回第一个文件。我需要它循环并分别返回每个文件。如何正确地执行此操作

使用来自服务器的请求,下面是一个示例:

for (int i = 0; i < Request.Files.Count; i++)
{
  var fileDoc = Request.Files[i];  
}

或者您可以尝试以下方法:

HttpPostedFileBase hpf = null;

foreach (string file in Request.Files)
{
    hpf = Request.Files[file] as HttpPostedFileBase;
}

因为您有一个name=file的文件输入,所以如果您选择多个文件,它们都有name=file和HttpPostedFileBase file=Request.files[file];仅返回具有该名称的第一个。使用for循环
HttpPostedFileBase hpf = null;

foreach (string file in Request.Files)
{
    hpf = Request.Files[file] as HttpPostedFileBase;
}