Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/delphi/8.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 在获取并获得正确的大小后,如何从FileReader中使用readAsArrayBuffer方法?_Javascript_Fetch_Filereader - Fatal编程技术网

Javascript 在获取并获得正确的大小后,如何从FileReader中使用readAsArrayBuffer方法?

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

我想从远程URL访问ArrayBuffer。因此,我创建了函数:

        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,是的,在这种情况下是正确的,谢谢!