在Controller中生成条形码并在View中显示

时间:2016-12-31 00:15:40

标签: c# html asp.net-mvc image barcode

我正在尝试在控制器中生成条形码图像(使用条形码渲染框架),然后将该图像传递给我的视图进行显示。这是我第一次尝试这样的事情而且我遇到了很多问题。

这是我在控制器中的代码:

        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字符串,但我不知道如何显示它们。

1 个答案:

答案 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");