Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/467.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Base64编码图像未在IE中显示_Javascript_Html_Image_Internet Explorer - Fatal编程技术网

Javascript Base64编码图像未在IE中显示

Javascript Base64编码图像未在IE中显示,javascript,html,image,internet-explorer,Javascript,Html,Image,Internet Explorer,我正在构建html内容服务器端,其中包括将PNG图像转换为base64字符串,然后使用字符串生成器将其附加到字符串。 我有200张图片,每一张图片我都在循环并转换它们。但是,当内容返回到客户端时,浏览器窗口仅显示大约100个图像,其余图像均为空白。i、 e.红色“X”显示为图像的占位符 范例 using(var memoryStream = new MemoryStream()) { fileStream.CopyTo(memoryStream); byte[] imgByt

我正在构建html内容服务器端,其中包括将PNG图像转换为base64字符串,然后使用字符串生成器将其附加到字符串。 我有200张图片,每一张图片我都在循环并转换它们。但是,当内容返回到客户端时,浏览器窗口仅显示大约100个图像,其余图像均为空白。i、 e.红色“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 + "'/>");
}  
使用(var memoryStream=new memoryStream())
{
CopyTo(memoryStream);
字节[]imgBytes=memoryStream.ToArray();
string base64String=Convert.ToBase64String(单位为千兆字节);
html.Append(“”);
}  
这似乎只是IE9中的一个问题,在Chrome中也能很好地工作。 IE中出现此问题的原因是什么?是IE设置之一吗?最大大小?等等。

Internet Explorer对数据URI方案有(请参阅“备注”部分),例如:

  • 出于安全原因,数据URI仅限于下载 资源。数据URI不能用于导航、脚本编写或 填充框架或iframe元素


  • 数据URI不能大于32768个字符。我一直在做更多的测试,每次都会得到不同的结果,它从来都不是同一个分界点。有时加载的图像越多,有时加载的图像越少。我一直在搜索有关在IE中使用daat uri的更多信息,此32k最大值仅存在于IE 8中,而对于IE 9,限制提高到4gb。但htis的信息在博客上。在维基百科中,它声明IE9没有限制。但这不是问题,因为我每次都会得到不同的结果,而且在Chrome中效果很好