【发布时间】:2014-09-14 13:08:22
【问题描述】:
我正在尝试使用 ASP.NET MVC 将图像上传到 SQL 数据库。数据库BeforeImage 仍然为空,尽管我没有收到一些文件大小和格式的错误。谢谢
public class Job
{
public int ID { get; set; }
public byte[] BeforeImage { get; set; }
public byte[] AfterImage { get; set; }
}
查看模型:
public class BeforePhotoVM
{
public int ID { get; set; }
public HttpPostedFileBase BeforeImage { get; set; }
}
获取:
public ActionResult AddBefore(int? id)
{
if (id == null)
{
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
}
var job = db.Jobs.Find(id);
var BeforeVM = new BeforePhotoVM();
//vm = db.Jobs.Find(id);
return View("Job2", BeforeVM);
}
帖子:
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult AddBefore([Bind(Include = "ID,BeforeImage")] BeforePhotoVM BeforeVM)
{
var job = db.Jobs.Find(BeforeVM.ID);
if (ModelState.IsValid)
{
byte[] BeforeImage = new byte[BeforeVM.BeforeImage.InputStream.Length];
BeforeVM.BeforeImage.InputStream.Read(BeforeImage, 0, BeforeImage.Length);
job.BeforeImage = BeforeImage;
db.Entry(job).State = EntityState.Modified;
db.SaveChanges();
return RedirectToAction("AddBefore", new { id = job.ID });
}
return View("Job");
}
【问题讨论】:
-
谢谢,我已经阅读了相当多的内容并遵循了一些类似的内容。这是针对 MungoDB 的,我的错误是特定于我的应用程序的。
-
你能显示 Job2 视图的代码吗?
-
对不起,它工作得很好。即使在关闭连接等之后,VS Sever 资源管理器也没有显示更新的表格。
标签: c# asp.net-mvc asp.net-mvc-5