1
無論我嘗試什麼,我的後期圖像始終爲空或未將對象引用設置爲對象的實例。MVC 4 HttpPostedFileBase始終爲空
我有一個post類和圖像類映射到表(使用EF代碼第一)
這裏是我的代碼:
查看:
<h2>Create</h2>
@using (Html.BeginForm("Create", "Admin", FormMethod.Post, new{ enctype = "multipart/form-data" }))
{
@Html.ValidationSummary(true)
@Html.LabelFor(post => post.Post.Blog)
@Html.DropDownListFor(post => post.Post.BlogId, Model.BlogList)
@Html.LabelFor(post => post.Post.Category)
@Html.DropDownListFor(post => post.Post.CategoryId, Model.CategoryList)
@Html.LabelFor(post => post.Post.Title)
@Html.EditorFor(post => post.Post.Title)
<br />
@Html.LabelFor(post => post.Post.Content)
@Html.EditorFor(post => post.Post.Content)
<br />
<input type="file" name="uploadImage" value="Upload" />
<input type="submit" value="Create" />
}
操作方法:
[HttpPost]
public ActionResult Create(Post post, HttpPostedFileBase image)
{
if (ModelState.IsValid)
{
var postBlog = _repository.Blogs.Single(b => b.BlogId == post.BlogId);
post.Created = DateTime.Now;
postBlog.Posts.Add(post);
PostImage newImage = new PostImage()
{
MimeType = image.ContentType,
ImageData = new byte[image.ContentLength],
PostId = post.PostId
};
_repository.AddImage(newImage);
_repository.Save();
return RedirectToAction("Index");
}