【发布时间】:2020-07-24 11:13:41
【问题描述】:
在 API 中,我试图将一些图像作为原始数据与其他一些信息一起传递。在 json 响应中。例如
[{img:…………,data:a},
{img:………,color:red},
{img:………,dumb:1}]
图像的数据是原始字节,之前以表单的形式上传。 与
var xhr = new XMLHttpRequest;
...
xhr.onreadystate = function(){
…
var data = JSON.parse(this.response);
for (let obj of data) {
console.log(obj.img.length);
}
…
}
...
xhr.send()
我发现过程中有数据丢失。如果我使用fetch 和arrayBuffer(),图像数据的length 会更小。例如
var data = await fetch(url).(res)=>{return res.arrayBuffer();}};
Console.log(data);
可以从 3 个单独的提取中重建所有图像,但从 json 响应中失败。
JSON.parse() 删除数据有什么问题?这与 json 中表示的原始数据有关吗?
【问题讨论】:
标签: javascript json image blob