我必须显示一个base64字符串格式的图像。它在ie9,chrome和mozilla中运行良好。但是当使用ie8图像时不能完全显示。出于安全目的,我无法在服务器和用户URL上保存图像以显示图像。是否有任何其他方式在ie8上显示图像。
答案 0 :(得分:2)
根据Ryan McGrath在Internet Explorer and Base64 image display的回答:IE8只能显示最大32KB的Base64图像。
很可能您的图片太大而无法由IE8处理。
我现在没有时间编写大量示例,但可能的解决方法是通过其他网页提供图像。将图像读入流中并将其发回。例如,您可能会这样做:
void GetImage(int imageId) {
byte[] imageData = GetDataFromDatabase(imageId);
using (MemoryStream ms = new MemoryStream(imageData)) {
Response.ContentType = "image/png";
ms.WriteTo(Response.OutputStream);
}
}
然后在您的网页中,您可以执行以下操作:
<img src="Image.aspx?GetImage&imageId=1"/>
注意: 所有这些都是非工作代码,可能包含拼写错误和不存在的方法。但这只是让你入门的想法。如果您在Google上搜索“C#+ asp.net输出图像”,那么您可以使用http://www.codeproject.com/Articles/33310/C-Save-and-Load-Image-from-Database等工作代码示例获得大量结果。