javascript - 当 HTTP POST 请求因网络丢失而中断时会发生什么?
问题描述
我正在尝试使用 XHR 和 POST (CORS)(当然需要身份验证)将文件上传到 Google Drive。我将文件对象作为请求正文发送。但我只想知道当请求发送后,文件上传(部分上传)中途网络连接丢失时会发生什么?
1.) 文件是否部分上传并已损坏?或者 Google Drive 不存储(和列出)文件,除非它接收到完整的文件?
2.) 在这种情况下,GD 是否会返回错误代码?
3.) GD 是否忽略了部分或失败的上传,因此驱动器上根本没有创建文件?
解决方案
您应该考虑像 UDP 通信这样的 HTTP 请求。
客户提出请求
服务器回复响应
他们并不真正关心中间发生的事情。这意味着一旦客户端完成了请求,之后发生的事情就像一个黑匣子。如果在您的请求到来时服务器的连接中断,则数据将被破坏,并且由于没有双向通信,客户端将不知道重新发送请求。
现在你的问题:
文件是否部分上传并已损坏?或者 GoogleDrive 不存储(和列出)文件,除非它接收到完整的文件?
是的,该文件将被损坏,您可能无法打开它。
在这种情况下,GD 是否会返回错误代码?
不完全是,如果您或谷歌遇到连接问题,您就不能真正依赖它。我建议仅假设您从 GD 收到 200 状态后才上传文件
推荐阅读
- python - 电子邮件正文中的数据框表应根据数据框中的条件着色
- c# - 如何按特定属性中的值选择分组?
- java - Ant 期间使用不同的 java 版本
- python - 如何让 Flask 应用程序使用 css 和图像?
- javascript - 如何在chart.js中设置折线图中的行数?
- javascript - Promise 中的 Angularfire v6 未定义 AngularFireStore
- javascript - 如何将 Promise 与嵌套的 foreach 一起使用
- python - 如何使用 Seaborn 手动添加图例
- ios - 实例方法 'application(application:handleOpenURL:)' 几乎符合可选要求
- github - 如何在 GitHub 上部署 mdbook