我正在尝试在控制器中生成条形码图像(使用条形码渲染框架),然后将该图像传递给我的视图进行显示。这是我第一次尝试这样的事情而且我遇到了很多问题。
这是我在控制器中的代码:
string barcodeValue = "1234567";
Code39BarcodeDraw barcode = BarcodeDrawFactory.Code39WithChecksum;
MemoryStream ms = new MemoryStream();
var barcodePic = barcode.Draw(barcodeValue, 50);
barcodePic.Save(ms, System.Drawing.Imaging.ImageFormat.Gif);
model.Pic = barcodePic;
如何在View中显示ViewModel的“Pic”属性?我正在使用@Html显示文本框和其他所有内容,但是没有显示System.Drawing.Image的@ Html.Image。我已经读过将图像转换为Byte []或base64字符串,但我不知道如何显示它们。
答案 0 :(得分:1)
您可以使用内存流返回ContentResult
。它应该在您嵌入的单独请求中发生。
string barcodeValue = "1234567";
Code39BarcodeDraw barcode = BarcodeDrawFactory.Code39WithChecksum;
MemoryStream ms = new MemoryStream();
var barcodePic = barcode.Draw(barcodeValue, 50);
barcodePic.Save(ms, System.Drawing.Imaging.ImageFormat.Gif);
return Content(ms, "image/gif");