OneDrive 个人版上传大文件

it2026-02-02  2

    上传大文件每个fragment不能大于60Mb,必须一片上传完才能续传下一片,所以,得用异步http, blob.slice() 为右半开区间 [   )

                        var maxUnit = fileSize < (60 * 1024 * 1024) ? fileSize : (60 * 1024 * 1024) - 1;                             for (var i = 0; i < fileSize; i += maxUnit) {                                 let rangeBegin = i;                                 let rangeEnd = (i + maxUnit - 1) < fileSize ? (i + maxUnit - 1) : (fileSize - 1);                                 let contentRange = 'bytes ' + rangeBegin + '-' + rangeEnd + '/' + fileSize;                                 let contentLen = (rangeEnd != fileSize - 1) ? maxUnit : fileSize - i;                                 xhr.open('PUT', jsonRes["uploadUrl"], false);                                 xhr.setRequestHeader('Authorization', 'Bearer ' + token);                                 //xhr.setRequestHeader('Content-Length', contentLen);                                 xhr.setRequestHeader('Content-Range', contentRange);                                 xhr.setRequestHeader('Content-Type', 'application/json');                                 xhr.send(blob.slice(rangeBegin, rangeEnd + 1));                             }

最新回复(0)