尝试使用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);
}
答案 0 :(得分:0)
我目前正在使用MVC 4.0进行此操作。
解决方案是HTML格式:
你必须写
@using (Html.BeginForm("UploadImage", "Image", FormMethod.Post,
new { enctype = "multipart/form-data" }))
以便您的控制器知道您在Request.File中传递图像。
了解更多信息请查看: http://www.codeproject.com/Articles/442515/Uploading-and-returning-files-in-ASP-NET-MVC
对于MVC 3.0,请看: http://forums.asp.net/t/1673787.aspx