ファイルを選択している次のコードがあります。しかし、どのファイルを選択しても、次の例外が発生します。
列 ImgPath に値 NULL を挿入できません。
ファイルがコントローラーに値を返していないようです。何か間違っていますか?
create.cshtml:
<div class="editor-label">
@Html.LabelFor(model => model.ImgPath)
</div>
<div class="editor-field">
<input type="file" name="file" />
</div>
ホームコントローラー:
public ActionResult Create(TopSong topsong, HttpPostedFileBase file)
{
if (ModelState.IsValid)
{
//verify user has selected file
if (file != null && file.ContentLength > 0)
{
var fileName = Path.GetFileName(file.FileName);
var path = Path.Combine(Server.MapPath(
"~/Content/themes/base/images/Movie Images"), fileName);
file.SaveAs(path);
}
db.TopSongs.Add(topsong);
db.SaveChanges();
return RedirectToAction("Index");
}
ViewBag.DateId = new SelectList(db.TopDates, "DateId", "DateId",
topsong.DateId);
return View(topsong);
}