File upload 图像上传MVC5
我需要上传一个图像并保存到一个文件中,但我不能在控制器中捕获它,因为它总是空的 在视图中:File upload 图像上传MVC5,file-upload,asp.net-mvc-5,File Upload,Asp.net Mvc 5,我需要上传一个图像并保存到一个文件中,但我不能在控制器中捕获它,因为它总是空的 在视图中: @使用(Html.BeginForm(“创建”、“产品”、FormMethod.Post、新的{enctype=“multipart/formdata”})) { .... 控制器: [HttpPost] [接受动词(HttpVerbs.Post)] [ValidateAntiForgeryToken] public ActionResult Create([Bind(包括=“ProductID,fks
@使用(Html.BeginForm(“创建”、“产品”、FormMethod.Post、新的{enctype=“multipart/formdata”}))
{
....
控制器:
[HttpPost]
[接受动词(HttpVerbs.Post)]
[ValidateAntiForgeryToken]
public ActionResult Create([Bind(包括=“ProductID,fksubcategory id,productName,ProductArName,productEndDescription,ProductArDescription,ProductImage”)]产品,HttpPostedFileBase文件)
{
if(ModelState.IsValid)
{
product.FKBrandID=1;
db.Products.Add(产品);
db.SaveChanges();
返回操作(“索引”);
}
返回视图(产品);
}
我已经试过了:
- 使用HttpPostedFileBase而不是HttpPostedFile
为nullRequest.Files[“file”]
- 输入和ActionResult中的参数名称相同
enctype=“多部分/表单数据”,data\u ajax=“false”
- 添加
[AcceptVerbs(HttpVerbs.Post)]
这让我抓狂,请给我一些建议?问题是,您为
enctype
属性提供的值无效
仔细看看。在关闭双引号之前,您有一个空格
new { enctype = "multipart/form-data "}
它应该是new{enctype=“multipart/form data”}
下面的代码应该可以正常工作
@using(Html.BeginForm("Create", "Products", FormMethod.Post,
new { enctype = "multipart/form-data"}))
{
<input type="file" name="file" id="file"/>
<input type="submit"/>
}
@使用(Html.BeginForm(“创建”、“产品”、FormMethod.Post、,
新的{enctype=“multipart/form data”})
{
}
你是如何提交的(标准提交还是ajax)?使用标准提交什么是数据\u ajax=“false”
?哪一个建议使用ajax?-如果你有@usng(Html.BeginForm(…,new{enctype=“multipart/form data”}))
它应该可以很好用。我试过了,有没有数据\u ajax=“false”以防万一..我有(Html.BeginForm(“Create”、“Products”、FormMethod.Post、new{enctype=“multipart/form data”})仍然没有文件使用name=“file”
查看时是否有任何其他输入?