我已经编写了自己的软件来访问“Google Drive”,我发现即使提供了 MIME 框架,如果 HTTP 连接中断,Google 也会很乐意写入部分文件。
我正在使用 API 作为 POST 来“https://www.googleapis.com/upload/drive/v3/files“表示‘uploadType’:‘multipart’,一个“content-type”:“multipart/related”标头和一个格式正确的 MIME 多部分文件。因此,对于 Google 来说,检测文件是否完整是微不足道的,但显然,它并没有这样做。这是微不足道的,因为 MIME 分段上传有一个特定的尾部,如果上传不完整,该尾部将会丢失。
我的问题:
我能做些什么来让 Google 不存储部分文件?也许可以使用 MD5 标头?可以使用内容长度标头?
如果没有,除了我的程序“知道”某个文件上传已部分完成之外,还有其他方法可以检测它(可能是可搜索的元数据)吗?也许是“CHANGES”API?
提前感谢您的时间!
附言:我可以执行“保存为另一个文件名”+“当您确定 Google 拥有完整文件时重命名为正确的文件名”,但这样我会因为延迟而上传一半的速度(是的,我可以进行流水线操作),更糟糕的是,浪费了我稀缺的 API 速率限制的一半。如果没有其他选择……
答案1
这是我的代码中的一个错误。Google 似乎按预期工作。
抱歉造成了噪音,请原谅。