在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);
以上代码并没有像我预期的那样发挥作用。任何帮助将不胜感激。
答案 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" />