gpt4 book ai didi

node.js - Google Drive API 下载文件nodejs

转载 作者:行者123 更新时间:2023-12-01 21:30:51 26 4
gpt4 key购买 nike

我正在尝试使用 node.js 中的 google drive API v3 获取文件的内容。我在本文档中读到我从 drive.files.get({fileId, alt: 'media'}) 得到一个流,但事实并非如此。我得到了一个 promise 。

https://developers.google.com/drive/api/v3/manage-downloads

谁能告诉我如何从该方法获取流?

最佳答案

我相信你的目标和情况如下。

  • 您想通过 drive.files.get 方法检索 steam 类型。
  • 您想使用 googleapis 和 Node.js 来实现这一点。
  • 您已经完成了使用 Drive API 的授权过程。

为此,这个答案怎么样?在这种情况下,请使用 responseTypeRef

模式一:

在此模式中,文件以流类型下载并保存为文件。

示例脚本:

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);
}
);

模式二:

在此模式中,文件以流类型下载并放入缓冲区。

示例脚本:

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);
});
}
);

引用:

关于node.js - Google Drive API 下载文件nodejs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62476413/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com