将大文件 (2GB) 上传到 Autodesk Forge Data Management API
Posted
技术标签:
【中文标题】将大文件 (2GB) 上传到 Autodesk Forge Data Management API【英文标题】:Upload large files (2GB) to Autodesk Forge Data Management API 【发布时间】:2019-03-24 08:35:51 【问题描述】:我正在尝试将一些模型上传到 Autodesk Forge 数据管理 API。不幸的是,模型大小超过 1GB,API 给出了超时异常:
状态码:504,原因短语:'GATEWAY_TIMEOUT'
使用以下代码 (C#):
var url = $"https://developer.api.autodesk.com/oss/v2/buckets/bucketKey/objects/objectName";
using (var httpClient = GetAuthorizedHttpClient("data:write"))
httpClient.Timeout = TimeSpan.FromMinutes(120);
var request = new HttpRequestMessage(HttpMethod.Put, url);
fileStream.Position = 0;
request.Content = new StreamContent(fileStream);
var response = httpClient.SendAsync(request).Result;
var responseContent = response.Content.ReadAsStringAsync().Result;
if (!response.IsSuccessStatusCode)
throw new Exception($"Failed to upload object: response.ReasonPhrase");
var result = JsonConvert.DeserializeObject<ObjectUploadResult>(response.Content.ReadAsStringAsync().Result);
return result;
你有什么建议吗? 提前致谢!
【问题讨论】:
【参考方案1】:这是正常的,您应该对大于 100Mb 的文件使用可恢复上传(根据 documentation)。
使用Autodesk.Forge .NET package检查this sample。
【讨论】:
【参考方案2】:使用forge-bucketsmanager-desktop 上传大文件时导致错误 416。 请检查此问题。
https://github.com/Autodesk-Forge/forge-bucketsmanager-desktop/issues/12【讨论】:
以上是关于将大文件 (2GB) 上传到 Autodesk Forge Data Management API的主要内容,如果未能解决你的问题,请参考以下文章