Google 在网络不稳定的情况下,在可恢复上传中驱动无限循环

Google Drive Infinite loop in resumable upload with an UNSTABLE network

当我使用 REST API 将文件上传到 Google 驱动器时,我发现由于网络不稳定,每隔几秒 HTTP 连接就会重置(显然,Google基础设施很强大,但你可能不知道什么是共产主义,什么是防火墙,我们这些可怜的中国人不得不用不同的方式爬过去。

问题是 Google 的服务器将丢弃她收到的数据块,如果它的大小小于 250kb(这个值是我的测试估计的)。因此,如果网络在每次达到该值之前断开连接,我们只是一遍又一遍地上传相同的块。

我认为唯一的解决方案是通过第三方服务器上传,例如我们在 GAE 上的程序,它从不丢弃任何收到的数据。

顺便说一句,Google Drive 官方 PC 客户端在这种情况下无法正常工作。

Google 文档确认 256kb 为最小块大小。如果块失败,请检查响应 header 以查看收到了多少并从该点恢复。