【发布时间】:2018-04-10 18:33:36
【问题描述】:
我正在使用 Asp.net。我正在尝试将一些图像上传到数据库。我的问题是:fileUpload 始终为空。
这是我的作品
<div class="form-group">
@Html.LabelFor(model => model.IMG, new { @class = "control-label col-md-2" })
<div class="col-md-10">
<input type="file" name="fileUpload">
</div>
</div>
这是我的控制器
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Create([Bind(Include = "ID,NAME,PRICE,QUANTITY,DESCRIPTION,VIEWNUMBER,TIMEUPDATE,ACTIVE,CATE_DEP_ID")] PRODUCTS products)
{
HttpPostedFileBase fileUpload = Request.Files["fileUpload"];
if (ModelState.IsValid)
{
if (fileUpload != null)
{
var fileName = Path.GetFileName(fileUpload.FileName);
var path = Path.Combine(Server.MapPath("~/Content/Images/Products"), fileName);
// file is uploaded
if (System.IO.File.Exists(path))
{
ViewBag.ThongBao = "Hình ảnh đã tồn tại";
}
else
{
fileUpload.SaveAs(path);
}
products.IMG = path;
db.PRODUCTS.Add(products);
db.SaveChanges();
return RedirectToAction("Index");
}
}
ViewBag.CATE_DEP_ID = new SelectList(db.CATE_DEP, "ID", "ID", products.CATE_DEP_ID);
return View(products);
}
【问题讨论】:
-
您的表单上是否有
enctype属性 -
你的表单有
enctype="multipart/form-data"属性吗? -
是的,我有:Html.BeginForm("Create", "QuanLyProduct", FormMethod.Post, new { @enctype = "multipart/form-data" })
-
您是通过直接操作(例如,单击提交按钮)还是通过称为“创建”的 ajax 提交表单?
-
我不使用 ajax,我使用的是 @Sudipta Maiti 的 post form