发送较大文件时出现重叠范围错误
Overlapping ranges error when sending larger file
我正在尝试通过 https://developer.api.autodesk.com/oss/v2/buckets/:bucketKey/objects/:objectName/resumable
上传 ~47M 文件和 4M 块,但一直收到 416 并出现“重叠范围”错误。
块以 Content-Range
header 发送,如下所示:
"bytes: 0-4194303/47992832"
"bytes: 4194304-8388607/47992832"
"bytes: 8388608-12582911/47992832"
"bytes: 12582912-16777215/47992832"
"bytes: 16777216-20971519/47992832"
"bytes: 20971520-25165823/47992832"
"bytes: 25165824-29360127/47992832"
"bytes: 29360128-33554431/47992832"
"bytes: 33554432-37748735/47992832"
"bytes: 37748736-41943039/47992832"
"bytes: 41943040-46137343/47992832"
"bytes: 46137344-47992831/47992832"
对于每个块 Content-Length
是 4194304 但最后一个是 1855488。在我看来请求是正确的,我不知道从哪里看我这边。
提供的范围对我来说看起来不错,但是这个 API 在请求 header 中需要一个 'Session-Id'。 'Session-Id' 对于每个以块上传文件的请求应该是相同的。但每次都必须不同。如果您使用相同的 'Session-Id' 上传文件(或同一个文件),您将收到该错误,因为一个范围将被记录两次或与之前的调用重叠。简而言之,每次启动该过程时都会生成一个新的 'Session-Id'。
我正在尝试通过 https://developer.api.autodesk.com/oss/v2/buckets/:bucketKey/objects/:objectName/resumable
上传 ~47M 文件和 4M 块,但一直收到 416 并出现“重叠范围”错误。
块以 Content-Range
header 发送,如下所示:
"bytes: 0-4194303/47992832"
"bytes: 4194304-8388607/47992832"
"bytes: 8388608-12582911/47992832"
"bytes: 12582912-16777215/47992832"
"bytes: 16777216-20971519/47992832"
"bytes: 20971520-25165823/47992832"
"bytes: 25165824-29360127/47992832"
"bytes: 29360128-33554431/47992832"
"bytes: 33554432-37748735/47992832"
"bytes: 37748736-41943039/47992832"
"bytes: 41943040-46137343/47992832"
"bytes: 46137344-47992831/47992832"
对于每个块 Content-Length
是 4194304 但最后一个是 1855488。在我看来请求是正确的,我不知道从哪里看我这边。
提供的范围对我来说看起来不错,但是这个 API 在请求 header 中需要一个 'Session-Id'。 'Session-Id' 对于每个以块上传文件的请求应该是相同的。但每次都必须不同。如果您使用相同的 'Session-Id' 上传文件(或同一个文件),您将收到该错误,因为一个范围将被记录两次或与之前的调用重叠。简而言之,每次启动该过程时都会生成一个新的 'Session-Id'。