C# MVC .net frameWork批量上传多个文件
时间: 2024-01-10 09:02:12 浏览: 173
MVC 多文件上传
你可以使用 ASP.NET MVC 中的 HtmlHelper 和 input type="file" 标签来实现批量上传多个文件。
以下是一个简单的示例代码:
在视图中使用以下代码创建表单:
```
@using (Html.BeginForm("Upload", "Home", FormMethod.Post, new { enctype = "multipart/form-data" }))
{
<input type="file" name="files" multiple />
<input type="submit" value="Upload" />
}
```
注意,必须将 enctype 属性设置为 "multipart/form-data",这是指示服务器在接收表单数据时使用多部分编码的标准。
然后,在控制器中使用以下代码来处理上传请求:
```
[HttpPost]
public ActionResult Upload(HttpPostedFileBase[] files)
{
foreach (var file in files)
{
if (file != null && file.ContentLength > 0)
{
var fileName = Path.GetFileName(file.FileName);
var path = Path.Combine(Server.MapPath("~/App_Data/uploads"), fileName);
file.SaveAs(path);
}
}
return RedirectToAction("Index");
}
```
在上面的示例代码中,我们在控制器的 HttpPost Upload 方法中使用 HttpPostedFileBase[] 参数来接收多个文件。在方法中,我们遍历文件数组,对每个文件调用 SaveAs 方法将其保存到服务器上的指定位置。注意,这里的参数名必须与 input 标签的 name 属性相同,即 "files[]"。
注意,如果你的上传文件非常大,可能会导致服务器崩溃。在这种情况下,你可能需要考虑使用第三方上传组件,例如 FineUploader 或 Uploadify。
阅读全文