javascript - Google Drive API 进度条错误
问题描述
我编写了以下代码将文件上传到我的 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 秒。承诺文件上传在 14 秒后解决
解决方案
推荐阅读
- powershell - 尽管 NetworkCredential 正确传递,powershell WebClient downloadFile 始终返回 401
- c# - 时间后如何隐藏 UI 对象(视频播放器)(Unity)
- python - 动态拆分数据框 Python
- java - 如何使用杰克逊将空数组解析为空?
- amazon-web-services - pyspark 的输出不会显示在 s3 存储桶中
- reactjs - Cookie 未在 reactjs 中的 cors 站点的请求标头中设置
- java - Uncaught SyntaxError: Unexpected end of input - JavaScript 将代码注入 WebView (loadUrl) 在 Android 7 中不起作用,但在 Android 4 中起作用
- java - 如何使用反射提取嵌套对象的方法
- javascript - 我如何同步获取 Promise 的结果
- python - 计算 h2o 帧的哈希值