断点续传一些方案的整理
最近 搜了下关于这方面的资料。
有几种方案(不仅限于 web浏览器 仅借鉴实现的思路):
1、基于nginx的nginx upload 模块 地址 https://www.nginx.com/resources/wiki/modules/upload/
参考: https://www.centos.bz/2015/09/nginx-upload-module-multipart-form-data-resumable/
ps: nginx 开启断点续传功能(upload_resumable on;) 后能不在接受 表单提交的文件(multipart/form-data) 只能使用 提交文件流的方式 ,而且客户端也需要单独编写
2、google drive 的实现 https://developers.google.com/drive/v3/web/manage-uploads#resumable
谷歌定义了一套断点上传的规范 客户端 不知道支不支持 自建服务器[手动doge]
3、百度webuploader 方案 http://fex.baidu.com/webuploader/doc/index.html#WebUploader_Uploader
webupload实现的很简单暴力 文件按照5M大小一片 切成n片 用ajax 提交表单(multipart/form-data)的方式 往服务器仍。
报文中包含如下格式:
1 name:xxxx.pdf 2 type:application/pdf 3 size:21329182 4 chunks:5 5 chunk:4
ps: ajax 提交文件是 ajax 2.0 (htm5) 新特性 旧的浏览器应该不支持。http://www.ruanyifeng.com/blog/2012/09/xmlhttprequest_level_2.html