首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >上传自动桌面设计自动化,dotnet Core.一个rfa和一个大Json文件作为输入传递

问上传自动桌面设计自动化,dotnet Core.一个rfa和一个大Json文件作为输入传递
EN

Stack Overflow用户
提问于 2020-06-11 15:19:52
回答 1查看 258关注 0票数 0

Revit运行得很好,我也正确地转换了设计自动化。我已经用本地调试器调试了它。效果很好。所以我可以说app包做得很好。

现在进入web应用程序代码,它的工作非常完美,直到最后一行"workItemStatus“。我需要一个rfa文件和一个大Json文件作为输入文件,以运行代码。两者加在一起将是1毫巴的大小。但代码是堆栈(无休止地等待)在上传文件时,工作项不启动。我在另一篇堆栈溢出文章中看到,Forge不允许超过16 by的上传到oss桶.(网址= string.Format("https://developer.api.autodesk.com/oss/v2/buckets/{0}/objects/{1}",bucketKey,inputFileNameOSS)这篇文章说,我需要将更大的文件上传到另一个云服务中,并使用已登录的Url而不是Forge存储桶。

在调试时,代码看起来是正确的,并且是堆栈的,当它到达WorkItemStatus workItemStatus = await workItemStatus行时

我已经调试了代码,在DesignAutomationController.cs "StartWorkItem“中,它看起来很好地工作直到”StartWorkItem“值。每个键和值看起来都是完美传递的。是因为文件大小吗?由于Json文件很大,我像其他输入(..rfa/..rvt)文件一样上传它。

代码语言:javascript
复制
string callbackUrl = string.Format("{0}/api/forge/callback/designautomation?id={1}&outputFileName={2}", OAuthController.GetAppSetting("FORGE_WEBHOOK_URL"), browerConnectionId, outputFileNameOSS);
            WorkItem workItemSpec = new WorkItem()
            {
                ActivityId = activityName,
                Arguments = new Dictionary<string, IArgument>()
                {
                    { "inputFile", inputFileArgument },
                    { "inputJsonFile", inputFileArgument1 },
                    { "outputFile", outputFileArgument },
                    { "onComplete", new XrefTreeArgument { Verb = Verb.Post, Url = callbackUrl } }
                }
            };
            ***WorkItemStatus workItemStatus = await _designAutomation.CreateWorkItemAsync(workItemSpec);***

            return Ok(new { WorkItemId = workItemStatus.Id }); ```
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-06-11 15:54:25

我在另一篇堆栈溢出文章中看到,Forge不允许超过16 by的上传到oss桶。

16 on限制位于包括工作项在内的设计自动化端点的payload上。这些限制被定义为这里。如果工作项有效负载超过16 If,您将看到一个错误HTTP 413 Payload Too Large。

要将大量的json输入发送到设计自动化,您可以首先将json上传到OSS (甚至是其他存储服务,如Amazon )。然后用签名的url调用json文件的工作项(类似于rfa文件的签名url )。

编辑:

  1. 可以使用数据管理端点将大型JSON文件上载到OSS。
  2. 然后可以使用read为该对象获取具有端点访问权限的签名URL。
  3. 然后,获得的URL可以作为input argument传递给有效负载,而不是将json内容嵌入到有效负载中。
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62327724

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档