我需要上传图像并将其保存到文件中,但我无法在控制器中捕获它,因为它始终为空。
视图中的:
@using(Html.BeginForm("Create", "Products", FormMethod.Post, new { enctype = "multipart/form-data "}))
{
....
<input type="file" name="file" id="file" />
控制器:
[HttpPost]
[AcceptVerbs(HttpVerbs.Post)]
[ValidateAntiForgeryToken]
public ActionResult Create([Bind(Include = "ProductID,FKSubCategoryID,ProductEnName,ProductArName,ProductEnDescription,ProductArDescription,ProductImage")] Product product,HttpPostedFileBase file)
{
if (ModelState.IsValid)
{
product.FKBrandID = 1;
db.Products.Add(product);
db.SaveChanges();
return RedirectToAction("Index");
}
return View(product);
}
我已经尝试过:
Request.Files["file"]
null enctype = "multipart/form-data ", data_ajax = "false"
[AcceptVerbs(HttpVerbs.Post)]
这让我发疯了所以请提出任何建议吗?
答案 0 :(得分:0)
问题是,您为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"/>
}