Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/462.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 谷歌驱动API进度条错误_Javascript_Node.js_Google Drive Api_Google Api Nodejs Client - Fatal编程技术网

Javascript 谷歌驱动API进度条错误

Javascript 谷歌驱动API进度条错误,javascript,node.js,google-drive-api,google-api-nodejs-client,Javascript,Node.js,Google Drive Api,Google Api Nodejs Client,我编写了以下代码,将一个文件上传到我的Google Drive帐户。它很好用。然后我尝试添加一些上传进度跟踪程序,但遇到了一些问题。它可以正常工作,但在上传完成之前,进度几乎立即达到100% export async function uploadFile(auth) { const fileMetadata = { name: FILENAME, }; const fileWrite = fs.createReadStream(path.join(homedir(), 'P

我编写了以下代码,将一个文件上传到我的Google Drive帐户。它很好用。然后我尝试添加一些上传进度跟踪程序,但遇到了一些问题。它可以正常工作,但在上传完成之前,进度几乎立即达到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秒就可以完成进度。promise文件上传在14秒后解决

我怀疑这是对onUploadProgress的混淆。我找不到该回调的任何文档,但我想它只适用于可恢复的上载。可能相关(是Axios的东西):也看到了您找到了任何解决方案吗?