AutodeskForge数据管理API在超过2GB的文件上无法完成断点续传。
创始人
2024-11-12 10:30:26
0

可以使用分片上传来绕过此问题。以下是使用C#的示例代码:

var chunkSize = 5 * 1024 * 1024; // 5MB
var fileStream = new FileStream(filePath, FileMode.Open, FileAccess.Read);

var sessionId = "";

// Step 1: Initialize the upload session
var initSessionReq = new RestRequest(Method.POST);
initSessionReq.Resource = "/oss/v2/buckets/{bucketKey}/objects/{objectKey}/resumable";
initSessionReq.AddParameter("bucketKey", bucketKey, ParameterType.UrlSegment);
initSessionReq.AddParameter("objectKey", objectKey, ParameterType.UrlSegment);
initSessionReq.AddHeader("Content-Type", "application/json");
initSessionReq.AddHeader("Content-Length", fileStream.Length.ToString());
initSessionReq.AddHeader("x-upload-content-type", "application/octet-stream");
initSessionReq.AddHeader("x-upload-content-length", fileStream.Length.ToString());

var initSessionRes = client.Execute(initSessionReq);

if (initSessionRes.StatusCode == HttpStatusCode.Created)
{
    sessionId = JsonConvert.DeserializeObject(initSessionRes.Content).sessionId.Value;
}
else
{
    throw new Exception("Failed to initiate resumable upload session");
}

// Step 2: Upload the file chunks
var chunkCount = (int)Math.Ceiling((double)fileStream.Length / chunkSize);

for (int i = 0; i < chunkCount; i++)
{
    var start = i * chunkSize;
    var end = Math.Min(start + chunkSize, fileStream.Length);

    var fileChunk = new byte[chunkSize];
    fileStream.Read(fileChunk, 0, fileChunk.Length);

    var uploadReq = new RestRequest(Method.PUT);
    uploadReq.Resource = "/oss/v2/buckets/{bucketKey}/objects/{objectKey}/resumable/{sessionId}";
    uploadReq.AddParameter("bucketKey", bucketKey, ParameterType.UrlSegment);
    uploadReq.AddParameter("objectKey", objectKey, ParameterType.UrlSegment);
    uploadReq.AddParameter("sessionId", sessionId, ParameterType.UrlSegment);
    uploadReq.AddHeader("Content-Length", (end - start).ToString());
    uploadReq.AddHeader("Content-Range", $"{start}-{end - 1}/{file

相关内容

热门资讯

七分钟辅助挂!创思维激k是不是... 七分钟辅助挂!创思维激k是不是有挂(透视)约逗东乡辅助器(详细透视外开挂教程)是一款可以让一直输的玩...
第4分钟辅助挂!光明大厅透视辅... 第4分钟辅助挂!光明大厅透视辅助(透视)中至赣州黑科技辅助软件(详细透视外开挂教程)您好,中至赣州黑...
4分钟辅助挂!波特互娱辅助(透... 4分钟辅助挂!波特互娱辅助(透视)河洛杠次脚本开发(详细透视外开挂教程)是一款可以让一直输的玩家,快...
第十分钟辅助挂!福建天天开心辅... 第十分钟辅助挂!福建天天开心辅助器真的假的(透视)心悦踢辅助软件(详细透视外开挂教程)是一款可以让一...
第二分钟辅助挂!朋友局辅助器免... 第二分钟辅助挂!朋友局辅助器免费版(透视)掌电竞技辅助器(详细透视外开挂教程)1、超多福利:超高返利...
2分钟辅助挂!腾威填大坑辅助(... 2分钟辅助挂!腾威填大坑辅助(透视)赣牌圈控制牌型(详细透视外开挂教程);一、腾威填大坑辅助有挂的是...
4分钟辅助挂!广西八一字牌辅助... 4分钟辅助挂!广西八一字牌辅助app(透视)拱趴大菠萝有辅助吗(详细透视外开挂教程);致您一封信;亲...
第九分钟辅助挂!至友互娱情怀辅... 第九分钟辅助挂!至友互娱情怀辅助(透视)飞驰娱乐科技软件(详细透视外开挂教程)1、很好的工具软件,可...
第二分钟辅助挂!樱花之盛辅助器... 1、第二分钟辅助挂!樱花之盛辅助器下载(透视)决战卡五星辅助看牌器(详细透视外开挂教程)。2、决战卡...
9分钟辅助挂!牵手互动游戏辅助... 9分钟辅助挂!牵手互动游戏辅助(透视)新海贝之城脚本(详细透视外开挂教程)1、每个玩家都可以进行使用...