本文介绍OSS返回416错误的原因和解决方案。
InvalidRange
The requested range cannot be satisfied
- 问题原因:通过HTTP Range请求获取大文件的部分内容时,选取了无效的范围。
- 解决方案:当使用
x-oss-multi-range-behavior: multi-range请求头时,GetObject请求支持在Range请求头中指定多个字节范围,最多支持50个字节范围;如果指定的字节范围个数超过50个,会返回MultiRangeFailed错误,具体的错误信息和解决方法请参见0016-00000110。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字节的内容。
该文章对您有帮助吗?