本文介绍OSS返回416错误的原因和解决方案。
InvalidRange
The requested range cannot be satisfied
- 问题原因:通过HTTP Range请求获取大文件的部分内容时,选取了无效的范围。
- 解决方案:OSS不支持多Range参数,即不支持指定多个范围。ByteRange指请求资源的范围,单位为Byte(字节),ByteRange有效区间在0至
object size - 1
的范围内。假设文件的总大小为2000字节,指定不同的ByteRange,其下载行为说明如下:Range: bytes=0-499
:从文件开始部分到指定字节的内容,即下载1~500字节的内容。Range: bytes=-500
:最后500字节的内容,即下载1501~2000字节的内容。Range: bytes=500-
:从第500字节开始到文件结束部分的内容,即下载501~2000字节的内容。Range: bytes=0-
:从第一个字节开始到最后一个字节的内容,即下载完整的文件1~2000字节的内容。