Google Drive API进度栏错误

时间:2018-08-10 13:39:20

标签: javascript node.js google-drive-api google-api-nodejs-client

我编写了以下代码,将文件上传到我的Google云端硬盘帐户。它工作正常。然后,我尝试添加一些上传进度跟踪器,但遇到了一些问题。它可以工作,但进度几乎立即达到100%,即完成上传之前。

export async function uploadFile(auth) {
  const fileMetadata = {
    name: FILENAME,
  };
  const fileWrite = fs.createReadStream(path.join(homedir(), 'Pictures', FILENAME));
  const fileSize = fs.statSync(path.join(homedir(), 'Pictures', FILENAME)).size;
  const media = {
    mimeType: FILETYPE,
    body: fileWrite,
  };
  const drive = google.drive({ version: 'v3', auth });
  const res = await drive.files.create({
    fileMetadata,
    media,
    fields: 'id',
  }, {
    onUploadProgress: (evt) => {
      const progress = (evt.bytesRead / fileSize) * 100;
      console.log(progress);
    },
  });
  console.log(res.data);
}

它将上载我想要的文件,显示进度并返回文件ID。问题是上传进度错误。我尝试上传一个100mb的文件,并使用20mbps的上传连接,仅用了1.8秒就完成了进度。承诺文件上传在14秒后解决

0 个答案:

没有答案