如果HTTP POST请求因网络丢失而中断,该怎么办?

时间:2019-06-19 18:52:39

标签: javascript post upload google-drive-api xmlhttprequest

我正在尝试使用XHR和POST(CORS)(当然要经过身份验证)将文件上传到Google云端硬盘。我将文件对象作为请求正文发送。但是我只想知道在发送请求后,在文件上传(部分上传)过程中网络连接丢失了怎么办?

1。)文件是否部分上传并损坏?还是Google云端硬盘除非收到完整的文件,否则不会存储(并列出)文件?

2。)在这种情况下,GD是否以错误代码响应?

3。)GD是否忽略部分或失败的上传,因此在云端硬盘上根本没有创建文件?

1 个答案:

答案 0 :(得分:1)

您应该考虑像UDP通讯这样的HTTP请求。

  • 客户端发出请求

  • 服务器回复响应

他们并不真正在意这之间的情况。这意味着,一旦客户端完成了请求,此后发生的事情就像黑盒子。如果在您的请求到达时服务器的连接中断,则数据将被破坏,并且由于没有双向通信,客户端将不知道重新发送该请求。

现在您的问题:

文件是否被部分上传并损坏?还是GoogleDrive除非收到完整的文件,否则不存储(并列出)文件?

是的,文件将被损坏,您可能无法打开它。

在这种情况下,GD是否响应并显示错误代码?

不完全是,如果您或Google遇到连接问题,您实际上就不会   依赖于此。我建议仅假设您从GD获得200状态后就上传了文件