我想提交一个表单包含文件上传使用C#ASP MVC与实体。我的问题是该文件始终为空。C#中的文件上传与ASP.NET MVC没有剃须刀
的观点:
@model Com.Work.With.Me.Models.ObjVM
<!DOCTYPE html>
<html>
<head>
<title>Test</title>
</head>
<body>
<form id="formObj" action="AddMe">
<input type="file" id="objPdfFile" name="Obj.PdfFile" />
</select>
<input type="text" id="objName" name="Obj.Name" />
</form>
视图模型:
public class ObjVM
{
public string Name{ get; set; }
public HttpPostedFileBase PdfFile{ get; set; }
public ObjVM()
{
}
}
控制器:
public ActionResult AddMe(ObjVM obj)
{
//her obj.Name is fine
//but obj.PdfFile is null
return View();
}
任何想法?
您是否已将头文件中的enctype设置为'multipart/form-data',并以此方式对内容进行编码? (https://stackoverflow.com/a/4526286/1838819)。这也需要在客户端都是HTTP POST,并且需要用[HttpPost]标记动作 – DiskJunky
你是对的! – jBravo
为什么你在标题中说“没有剃须刀”?你清楚地使用剃刀。 – mason