将字节arrain输出到img标记的src属性中

时间:2010-04-15 10:46:29

标签: asp.net-mvc

我正在使用ASP.NET MVC并且有一个模型在其中一个字段中有一个图像(字节数组)。我正在尝试将此图像输出到img标记的src属性中。我希望做<img src='<%= Model.VenueImage %>'>之类的事情。我怎么能这样做?

2 个答案:

答案 0 :(得分:19)

也许Inline Images with Data URLs想法?

  

内联图像使用数据URI方案   将图像直接嵌入到Web中   页面。根据RFC 2397的定义,数据   URI旨在嵌入小数据   项目作为“即时”数据,就像它们一样   在外部引用。运用   内联图像可以保存HTTP请求   外部引用的对象。

System.Drawing.Image image = GetImageFromSomewhere(...);

byte[] imageData = ImageToByteArray(image);
string imageBase64 = Convert.ToBase64String(imageData);
string imageSrc = string.Format("data:image/gif;base64,{0}", imageBase64);

然后在页面的某个位置:

<img src= "<%= ImageSrcBytes %>" />

AFAIK适用于Opera 7.2 +,Firefox,Safari,Netscape,Mozilla和IE8 +(IE8高达32kb)。

对于早期版本的IE,有一种解决方法 - MHTML

如何执行此操作的示例是here

答案 1 :(得分:0)

浏览器使用src属性向服务器发出单独的请求,以获取图像的内容。它不会将src中的字节显示为图像本身。

所以你需要记住那些字节(session?)并使用一个处理程序(你输入src属性的url)让浏览器请求它们。