Autodesk Forge API 上传文件

Posted

技术标签:

【中文标题】Autodesk Forge API 上传文件【英文标题】:Autodesk Forge API upload a file 【发布时间】:2017-01-12 17:13:21 【问题描述】:

我是 FORGE API 开发的新手,我正在尝试开发一个控制台应用程序来使用 FORGE API 管理数据,这些是我到目前为止所遵循的步骤

1.我已经成功在FORGE上注册了一个APP

2.然后我使用 2-legged 授权获得了 OAuth 令牌。

3.之后我在 FORGE 上成功创建了一个存储桶来上传我的文件

4.最后我尝试将一个小文本文件上传到存储桶并且它可以正常工作,但是当我尝试上传一个 revit 文件(大约 18 MB)时,它得到一个异常“多个错误”。

这是我用来上传文件的代码

            string filePath = @"C:\Users\Administrator\Desktop\Demo revit file\sample.rvt";
            string url = "https://developer.api.autodesk.com/oss/v2/buckets/mybucket/objects/sample.rvt";
            using (var client = new HttpClient())
            



                client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", AccessToken);        
                var response= client.PutAsync(url, new StreamContent(File.OpenRead(filePath))).Result.EnsureSuccessStatusCode();
                string res = response.ToString();
                Console.WriteLine("Response: " + res);
            

请帮我解决这个问题。

【问题讨论】:

我建议您使用更高级别的库来处理您的 REST 请求。在某些情况下,使用基本的 HttpClient“手动”实现它可能需要相当多的工作。 RestSharp 是一个非常完善的库,可以减轻这项任务。您可以查看我的 node.js 示例,使用 RestSharp 时应该使用相同的参数:github.com/leefsmp/forge/blob/master/src/server/api/services/… @PhilippeLeefsma 您好 - 是否有由 Autodesk 团队制作的库,相当于 Google 的库来进行端点调用?例如developers.google.com/api-client-library? 在developer.autodesk.com/en/docs/quickstarts/v1/overview查看我们的 Forge SDK 【参考方案1】:

添加到 Philipe cmets(建议使用 RestSharp library),也建议您改用 RESUMABLE endpoint,这是处理大文件上传的最佳方式。

【讨论】:

能否分享一个与可恢复端点相关的示例 你可以在github.com/Developer-Autodesk/view-and-data-npm/blob/master/…看到大部分逻辑

以上是关于Autodesk Forge API 上传文件的主要内容,如果未能解决你的问题,请参考以下文章

Autodesk Forge uploadObject API 无法上传文件 30MB 到 100MB 文件

将大文件 (2GB) 上传到 Autodesk Forge Data Management API

如何通过 Autodesk Forge 上的数据管理 API 上传超过 100MB 的大文件?

如何使用 Autodesk Forge API 将上传的 AutoCAD 文件中的元数据提取到 Web 应用程序中?

Autodesk Forge - 指定要上传的文件的路径

如何找出压缩并上传到 Autodesk Forge Model Derivative 后端的文件的文件名?