我编写了以下代码,将文件上传到我的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秒后解决