在使用Google Drive API v3移动文件之前,如何检查文件是否已完成上传?]

问题描述 投票:0回答:1
我正在编写一个小的归档脚本(在node.js中),如果文件名中包含.archive.7z,则会将Google云端硬盘中的文件移动到预定的文件夹中。该脚本作为cron作业定期运行,文件移动没有引起任何问题,但是仍在由我的桌面客户端上载的文件在完成之前就被移动了。这会终止上载,并导致目标文件夹中的文件损坏。

仍然通过以下功能返回从桌面上传到Google云端硬盘的文件:

async function getArchivedFiles (drive) { const res = await drive.files.list({ q: "name contains '.archive.7z'", fields: 'files(id, name, parents)', }) return res.data.files }

一旦使用以下代码移动并重命名了文件,上传将从我的客户端终止(异步),并且目标文件被破坏。

drive.files.update({ fileId: file.id, addParents: folderId, removeParents: previousParents, fields: 'id, parents', requestBody: { name: renameFile(file.name) } })

是否有任何方法可以在移动文件之前检查它是否仍在上传?

我正在编写一个小的归档脚本(在node.js中),以将Google云端硬盘上的文件名(如果文件名中包含.archive.7z的话,移到预定的文件夹中)。该脚本作为cron作业定期运行,...

node.js google-drive-api google-api-nodejs-client
1个回答
1
投票
事实证明,正在上载时创建了一个很小的占位符类型的文件。我不确定这是Google Drive API行为还是Insync桌面客户端特有的行为。该文件似乎是单独上传的,因此完成后可以自由重命名。
© www.soinside.com 2019 - 2024. All rights reserved.