ASP.NET MVC页面照片的回填
在做项目时,有时候会遇到一些的表格要进行页面数据的回填,然而图片在页面回填是否也是和表达回填数据一样的呢?实现上他们的回填数据的方式不一样的,一般表单数据类型是string 可以直接获取,而图片的数据已经是进行过二进制的转换保存到数据库的,所以图片进行页面数据回填时要进行二进制的转换,如果强行通过和一般数据进行查询回填时有时会造成系统报错整个表单都无法查询出数据(之前遇到过),然图片肯定查询回填不了。
错误的做法,如:
要进行页面图片的回填,为了数据的正确性,第一不要在多表查询表单数据时和string类型一起查询,第二要在控制器中查询数据库中保存图片的数据出数据进行二进制数据的转换然后进行页面回填
根据相应的ID查询数据进行二进制的转换
,代码如下:public ActionResult GetStudentImage(int EducationApID)
{
try
{
var studentImg = (from tbEducationApprove in myModels.S_EducationApprove
where tbEducationApprove.EducationApID == EducationApID
select new
{
tbEducationApprove.EducationPicture
}).Single();
byte[] stuImg = studentImg.EducationPicture;
return File(stuImg, @“image/jpg”);
}
catch (Exception e)
{
Console.WriteLine(e);
return Json(“failed”, JsonRequestBehavior.AllowGet);
}
}
视图获取的对应的img标签然后进行回填图片:“IsImgStudentPicture”相应img标签ID(绑定img标签)
$("#IsImgStudentPicture").attr(“src”, “/AuthenticationPiece/EducationBackground/GetStudentImage?EducationApID=”//相应路径 + EducationApID) //回填图片信息
///回填的图片///