来自ViewBag的MVC显示二进制图像

时间:2014-11-11 22:56:28

标签: image model-view-controller binary

在MVC视图中显示二进制图像时遇到问题。我将图像作为二进制格式存储在数据库中,然后分配给Controller中的ViewBag。如何在View中将viewbag数据分配给图像?

控制器

            ItemBO mibo = new ItemBO();
            ViewBag.Picture1 = Convert.ToByte(mibo.GetImage(1));

查看

           var elem = document.createElement("img");     
           elem.setAttribute("src", @ViewBag.Picture1);

           elem.setAttribute("style", "height:100%");
           elem.setAttribute("alt", "Image");

           document.getElementById("mydiv").appendChild(elem);

以上代码并没有像我预期的那样发挥作用。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:3)

尝试以下,

string imageBase64 = Convert.ToBase64String(ViewBag.Picture1);
     string imageSrc = string.Format("data:image/gif;base64,{0}", imageBase64);
     <img src="@imageSrc" width="100" height="100" />