我正在尝试使用Google Drive Rest API在浏览器中下载用户图像,但似乎无法获得实际的图像数据。我能够成功调用文件端点,但不知道如何处理响应。
我的提取请求:
fetch(`https://www.googleapis.com/drive/v3/files/${fileId}?key=${driveInfo.key}`, settings)
.then(res => {
return res.json();
})
.then(json => {
console.log("drive json", json);
});
输出:
drive json
{
kind: "drive#file"
id: "1qXXBU6oIxs2Y4PZskA-kj6ljMjTfGKjf"
name: "Screenshot_20180919-160538.png"
mimeType: "image/png"
}
[我还注意到response.body
是一个很棒的ReadableStream<Uint8Array>
,因为我最终需要一个uint8数组,但是看起来uint8数组代表上述元数据,而不是实际的图像数据。
我什至会以正确的方式进行操作,还是尝试在客户端中下载映像?
fetch
通过API密钥从Google云端硬盘下载文件。如果我的理解正确,那么这个答案如何?请认为这只是几个可能的答案之一。
alt=media
。alt=media
时,返回文件元数据。fetch(`https://www.googleapis.com/drive/v3/files/${fileId}?key=${driveInfo.key}&alt=media`, settings)
.then(res => {
return res.arrayBuffer();
})
.then(data => {
console.log(data);
});
return res.arrayBuffer();
修改为return res.blob();
[如果我误解了您的问题,但这不是您想要的结果,我深表歉意。