将大文件 (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的主要内容,如果未能解决你的问题,请参考以下文章

在客户端将大文件(> 2GB)压缩成 ZIP

支持恢复将大文件上传到 S3

支持恢复将大文件上传到 S3

如何将大文件上传到 Azure Blob 存储 (.NET Core)

无法将大文件上传到 Google 文档

将大文件上传到 sitecore 媒体库