MVC 上传文件 BeginForm HTTPPOST

本文关键字:BeginForm HTTPPOST 文件 MVC | 更新日期: 2023-09-27 18:35:36

我正在尝试将CSV文件上传到我的控制器以处理数据。

这是我的 MVC 剃须刀视图:

@using (Html.BeginForm("AddManyDevices", "Home", FormMethod.Post, new {@enctype = "multipart/form-data" }))
{
     <input id="FileUpload" name="FileUpload" type="file" />
     <input id="subButton" type="submit" value="FileUpload" class="btn btn-success" title="Upload File" />
}

这是我在HomeController中的方法,一种返回视图的方法,一种处理HTTP POST的方法

[Authorize]
public ActionResult AddManyDevices()
{
   return View();
}
[HttpPost]
public void AddManyDevices(HttpPostedFileBase FileUpload)
{
   StreamReader csvreader = new StreamReader(FileUpload.InputStream);
   while (!csvreader.EndOfStream)
   {
       var line = csvreader.ReadLine();
       var values = line.Split(';');
   }
}

但是,当我上传文件时,没有调用HTTP POST AddManyDevices,我做错了什么?

MVC 上传文件 BeginForm HTTPPOST

请从@enctype = "multipart/form-data"中删除@符号

并像下面这样使用

@using (Html.BeginForm("AddManyDevices", "Home", FormMethod.Post, new { enctype = "multipart/form-data" }))