Oam*_*nji 9 javascript buffer node.js arraybuffer
使用像 axios 这样的库,我可以从 http 请求中请求数据作为数组缓冲区:
async function get(url) {
const options = {
method: 'GET',
url: url,
responseType: "arraybuffer"
};
const { data } = await axios(options);
console.log(data)
return data;
}
Run Code Online (Sandbox Code Playgroud)
打印:
<Buffer 50 4b 03 04 14 00 00 00 08 00 3c ef bf bd ef bf bd 52 ef bf bd ef bf bd 3a ef bf bd 46 01 00 00 6f 03 00 00 14 00 00 00 45 43 5f 72 61 77 2f 76 61 72 ... 1740004 more bytes>
Run Code Online (Sandbox Code Playgroud)
假设我没有指定数据作为数组缓冲区进入,或者我使用了一个简单的获取请求:
const response = fetch(url)
Run Code Online (Sandbox Code Playgroud)
如何将其转换response为数组缓冲区?
我正在尝试这样做:
const response = await this.get(test)
const buffer = Buffer.from(response)
console.log(buffer)
Run Code Online (Sandbox Code Playgroud)
正在打印这个:
<Buffer 50 4b 03 04 14 00 00 00 08 00 3c ef bf bd ef bf bd 52 ef bf bd ef bf bd 3a ef bf bd 46 01 00 00 6f 03 00 00 14 00 00 00 45 43 5f 72 61 77 2f 76 61 72 ... 1740004 more bytes>
Run Code Online (Sandbox Code Playgroud)
Hen*_*ker 13
FetchAPI使用Response对象来表示对请求的响应。为了处理响应主体,有几种可用的方法。
您可能熟悉Response.json,因为 JSON 是解释响应正文的最常见方法之一,但还有Response.arrayBuffer:
async function get(url) {
const response = await fetch(url);
return response.arrayBuffer();
}
Run Code Online (Sandbox Code Playgroud)