This question already has answers here:
Internet Explorer and Base64 image display

(2 个回答)


7年前关闭。




我正在构建 html 内容服务器端,它由转换为 base64 字符串的 PNG 图像组成,然后使用字符串生成器附加到字符串。
我有 200 张图像,对于每张图像,我都在循环遍历并转换它们。然而,当内容返回给客户端时,浏览器窗口只显示大约 100 张图像,其余的都是空白的。即红色“X”显示为图像的占位符。

例子
using(var memoryStream = new MemoryStream())
{
     fileStream.CopyTo(memoryStream);
     byte[] imgBytes = memoryStream.ToArray();
     string base64String = Convert.ToBase64String(imgBytes);
     html.Append("<img src='data:image/png;base64," + base64String + "'/>");
}

这似乎只是 IE 9 中的一个问题,并且在 Chrome 中运行良好。
什么可能导致 IE 中出现此问题,它是 IE 设置之一吗?最大大小?等。

最佳答案

Internet Explorer 具有用于数据 URI 方案的 limited support(请参阅“备注”部分),例如:

  • 出于安全原因,数据 URI 仅限于下载
    资源。数据 URI 不能用于导航、脚本编写或
    填充框架或 iframe 元素。
  • 数据 URI 不能大于 32,768 个字符。
  • 资源数据必须正确编码;否则,错误
    发生并且资源未加载。 “#”和“%”字符
    必须编码,以及控制字符,非美国 ASCII
    字符和多字节字符。
  • 关于javascript - Base64 编码的图像未在 IE 中显示,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22973363/

    10-12 00:04
    查看更多