Lau*_*ont 2 node.js google-drive-api
我正在尝试使用node.js 中的Google Drive API v3 获取文件的内容。我在本文档中读到,我从中得到了一个流,drive.files.get({fileId, alt: 'media'})但事实并非如此。我得到了回报。
https://developers.google.com/drive/api/v3/manage-downloads
有人可以告诉我如何从该方法中获取流吗?
我相信你的目标和情况如下。
drive.files.get。为此,这个答案怎么样?在这种情况下,请使用responseType. 参考号
在此模式中,文件作为流类型下载并保存为文件。
var dest = fs.createWriteStream("###"); // Please set the filename of the saved file.
drive.files.get(
{fileId: id, alt: "media"},
{responseType: "stream"},
(err, {data}) => {
if (err) {
console.log(err);
return;
}
data
.on("end", () => console.log("Done."))
.on("error", (err) => {
console.log(err);
return process.exit();
})
.pipe(dest);
}
);
Run Code Online (Sandbox Code Playgroud)
在此模式中,文件作为流类型下载并放入缓冲区。
drive.files.get(
{fileId: id, alt: "media",},
{responseType: "stream"},
(err, { data }) => {
if (err) {
console.log(err);
return;
}
let buf = [];
data.on("data", (e) => buf.push(e));
data.on("end", () => {
const buffer = Buffer.concat(buf);
console.log(buffer);
});
}
);
Run Code Online (Sandbox Code Playgroud)