Javascript 在获取并获得正确的大小后,如何从FileReader中使用readAsArrayBuffer方法?
我想从远程URL访问ArrayBuffer。因此,我创建了函数:Javascript 在获取并获得正确的大小后,如何从FileReader中使用readAsArrayBuffer方法?,javascript,fetch,filereader,Javascript,Fetch,Filereader,我想从远程URL访问ArrayBuffer。因此,我创建了函数: fetch('some url') .then(function(response) { const file = new File([response], response.url, {type:'image/jpg'}); const reader = new FileReader(); re
fetch('some url')
.then(function(response) {
const file = new File([response], response.url, {type:'image/jpg'});
const reader = new FileReader();
reader.readAsArrayBuffer(file);
reader.onload = function(e) {
const dataURL = reader.result;
console.log(dataURL);
};
})
我得到了错误的ArrayBuffer大小:ArrayBuffer(17=我Url的长度)而不是真实的图像大小(我想大约24000)。这里有什么问题?如果您正在寻找请求的资源的一部分,请删除中间人,让响应直接提供给您缓冲区
const url=“data:image/png;base64,ivborw0kggoaaaansuhueugaaaaaaaaaafcayaacnblaaaaheleqvqi12p4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg=”;
获取(url)
.然后(res=>res.arrayBuffer())
.然后(someBuffer=>{
console.log(someBuffer.bytellength);
});代码>如果改为使用会发生什么<代码>获取(“example.com”)。然后(res=>res.arrayBuffer())。然后(someBuffer=>{//使用缓冲区})代码>@zero298,是的,在这种情况下是正确的,谢谢!