很多人反馈,从OSS上下载比较大的文件(超过10MB)的时候,经常下载到一半就不动了。
原因是由于公网的网络质量不稳定,导致下载的过程中TCP链接断开。
解决办法是通过使用GetObject这个API中的range参数,进行断点续传(也可以通过该参数进行多线程下载)
range参数的具体使用方法见API文档的5.3.2节: Get Object
【注意】:
1)GetObject通过range参数可以支持断点续传,对于比较大的Object建议使用该功能。
2) 如果在请求头中使用Range参数;则返回消息中会包含整个文件的长度和此次返回的范围,例如:Content-Range: bytes 0-9/44,表示整个文件长度为44,此次返回的范围为0-9。如果不符合范围规范,则传送整个文件,并且不在结果中提及Content-Range。
3)range参数是由"0"开始算的,所以最大的合法参数是(文件长度-1)。如果你填错,那么处理这个请求时,OSS会忽略掉range参数,并将把整个文件传给你。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。