在做项目的时候,有些需求是要把图片显示在表单里,像这样:
我刚遇到这种问题的时候有些苦恼,因为老师没有直接教我在表单显示图片出来,但是我想起老师教过我在弹出框里显示图片呀,所以我想出了一个方法。
1.首先在layui渲染表格的时候自己在表头给它一个自定义列。
//表头
cols: [[
{ field: 'ModePaymentID', title: 'ModePaymentID', hide: true },
{ title: 'logo', width: 150, style: 'height:60px;', templet: werw ,align: 'center'},//自定义图片列
{ field: 'PaymentName', title: '用户名', align: 'center' },
{ field: 'PaymentSynopsis', title: '支付简介', align: 'center' },
{ title: '操作', templet: setOperate, align: 'center' }
]],
//图片列
function werw(data) {
var ModePaymentID = data.ModePaymentID;
var btns = "";
btns += '<img src="/LoanManagement/ModePayment/GetStudentImage?ModePaymentID=' + ModePaymentID + '" alt="" width="180" height="50" class="border border-primary" id="cnm"/>';
return btns;
}
里面的那个ModePaymentID,是我放图片数据的表的主键ID。图片呢是二进制储存在数据库的。
图片的路径是我的方法路径加上主键ID。
2.再去控制器写方法。
通过 byte[] 获取储存图片的那个字段,转换数据格式。
public ActionResult GetStudentImage(int ModePaymentID)
{
try
{
var studentImg = (from tbModePayment in myEntities.B_ModePayment
where tbModePayment.ModePaymentID == ModePaymentID
select new
{
tbModePayment.PaymentLogo
}).Single();
byte[] stuImg = studentImg.PaymentLogo;
return File(stuImg, @"image/jpg");
}
catch (Exception e)
{
Console.WriteLine(e);
return Json("failed", JsonRequestBehavior.AllowGet);
}
}
以上是我写的部分代码,仅供参考。