1

我正在尝试使用 cshtml 在 MVC 3.0 中上传 excel 表。在我看来,我的页面中有两个按钮,每个按钮都有不同的操作结果。我已经在我的页面中实现了两个按钮的处理。但是,当我单击上传按钮时,给出 Request.Files 时没有文件。我应该在上传按钮单击的 ActionResult 中添加一个参数吗?下面是我的代码

[HttpPost]
[MultiButton(MatchFormKey = "Upload", MatchFormValue = "Upload")]
public ActionResult UploadFile()
{
    TMReportViewModel UploadModel = new TMReportViewModel();
    foreach (string file in Request.Files) 
    {
        HttpPostedFileBase hpf = Request.Files[file] as HttpPostedFileBase;
        if (hpf.ContentLength == 0) 
            continue;

        string savedFileName = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, Path.GetFileName(hpf.FileName));
              
        hpf.SaveAs(savedFileName); 
     }
     return View(UploadModel);
 }
4

1 回答 1

0

我目前正在使用 ASP.NET MVC 4.0 进行此工作。

解决方案是在 HTML 中:

你必须写

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

以便您的控制器知道您在Request.File中传递图像。

有关详细信息,请查看在 ASP.NET MVC 中上传和返回文件

对于 ASP.NET MVC 3.0,请查看How to upload image using jQuery in ASP.NET MVC 3

于 2014-02-10T17:11:06.867 回答