Javascript 以正确的方式在浏览器中显示blob
我从服务器接收到JSON响应,但是使用JSON存在一些常见问题,比如长度限制,更不用说安全问题了,等等 通过搜索,我找到了一些,如Javascript 以正确的方式在浏览器中显示blob,javascript,jquery,blob,Javascript,Jquery,Blob,我从服务器接收到JSON响应,但是使用JSON存在一些常见问题,比如长度限制,更不用说安全问题了,等等 通过搜索,我找到了一些,如createObjectURL和FileReader。但是,图像没有显示 因此blob是base64编码的,并以JSON格式发送$json_数组[]=base64_编码($flal_文件) 在JavaScript中,我执行以下操作: 尝试1(URL显示在源代码中,但图像不显示): 由于长度限制,浏览器无法读取整个blob。也许我需要缩短服务器的响应。尝试按如下方式加载
createObjectURL
和FileReader
。但是,图像没有显示
因此blob是base64编码的,并以JSON格式发送<代码>$json_数组[]=base64_编码($flal_文件)代码>
在JavaScript中,我执行以下操作:
尝试1(URL显示在源代码中,但图像不显示):
由于长度限制,浏览器无法读取整个blob。也许我需要缩短服务器的响应。尝试按如下方式加载图像字节数组:
<img src="data:image/jpg;base64, imageBytes"/>
我可能错了,但是应用程序/octet流中有一些奇怪的东西。如果要下载文件,通常会使用此选项。您是否尝试使用原始图像的mime类型?由于某些原因,某些Blob可能会重复显示在Microsoft edge上,但在Chrome和Firefox中不会。我还在重复问题中使用了Jeremy的答案来缩短url,但问题仍然存在格拉加斯11分钟前到达
const blb = new Blob(data, {type: "text/plain"});
const reader = new FileReader();
// This fires after the blob has been read/loaded.
reader.addEventListener('loadend', (e) => {
const text = e.srcElement.result;
console.log(text);
});
// Start reading the blob as text.
reader.readAsText(blb);
<img src="data:image/jpg;base64, imageBytes"/>