Autodesk forge“无法触发此文件的翻译”

Posted

技术标签:

【中文标题】Autodesk forge“无法触发此文件的翻译”【英文标题】:autodesk forge "Failed to trigger translation for this file" 【发布时间】:2016-11-15 07:56:22 【问题描述】:

我正在尝试使用 Autodesk forge 查看器教程

https://developer.autodesk.com/en/docs/model-derivative/v2/tutorials/prepare-file-for-viewer/

我已经成功上传并下载了一个dwg文件

在我将其转换为 svf 的步骤中,它似乎永远不会处理并失败

"input":"urn":"Safe Base64 encoded value of the output of the upload result","output":"formats":["type":"svf","views":["2d","3d"]]
HTTP/1.1 400 Bad Request
Result"diagnostic":"Failed to trigger translation for this file."

第一个问题我需要删除 urn: 在 Base64 编码之前。 其次,我可以看到更多详细的错误结果。

注意我也尝试过使用 rvt 文件并尝试使用 "type":"thumbnail" 似乎没有任何效果。

我觉得我的编码 URN 不正确,但我不确定为什么会这样。 在教程页面上,他们似乎有一个更长的原始骨灰盒,不确定我是否应该在编码之前附加其他内容。他们有一个版本和一些其他号码

来自教程 生的 "urn:adsk.a360betadev:fs.file:business.lmvtest.DS5a730QTbf1122d07 51814909a776d191611?version=12"

我的 生的 "urn:adsk.objects:os.object:gregbimbucket/XXX"

编辑: 这是我从上传 dwg 文件中得到的结果

HTTP/1.1 200 OK
Result
"bucketKey" : "gregbimbucket",
"objectId" : "urn:adsk.objects:os.object:gregbimbucket/XXX",
"objectKey" : "XXX",
"sha1" : "xxxx",
"size" : 57544,
"contentType" : "application/octet-stream",
"location" : "https://developer.api.autodesk.com/oss/v2/buckets/gregbimbucket/objects/XXX"

这是我发送来转换文件的内容

"input":"urn":"dXJuOmFkc2sub2JqZWN0czpvcy5vYmplY3Q6Z3JlZ2JpbWJ1Y2tldC9YWFg","output":"formats":["type":"svf","views":["2d","3d"]]

这是我返回的错误

HTTP/1.1 400 Bad Request
Result"diagnostic":"Failed to trigger translation for this file."

编辑 2:解决方案 上传文件时,看起来 object_id 必须具有文件扩展名,并且不能以 GUI 或随机字符集结尾,才能知道它是什么文件类型。这样就可以转换了。

"objectId" : "urn:adsk.objects:os.object:gregbimbucket/Floor_sm.dwg", 

【问题讨论】:

这个 urn 应该和你从 API 上的其他调用得到的一样,它可以包含“urn:something”,“400”错误请求意味着你的输入不好......你能发布您要拨打的确切电话? @AugustoGoncalves 我用更多信息更新了问题 如果 JSON 是准确的,您是不是缺少文件上的扩展名?您刚刚输入了“XXX”。另外,请参阅此处的第 4 步 (developer.autodesk.com/en/docs/data/v2/tutorials/upload-file),我们使用内容类型来确定如何翻译(我认为将来我们将使用文件扩展名) @AugustoGoncalves 感谢我通过将对象 id 设置为实际文件名来实现它。 太好了,很高兴知道!如果你有时间,请分享答案,很乐意投票! :-) 【参考方案1】:

解决方案 上传文件时,object_id 看起来必须具有文件扩展名,并且不能以 GUI 或随机字符集结尾,才能知道它是什么文件类型。

【讨论】:

没错:上传文件时,您将收到 URN。但重要的是 PUT 中请求的 URL:当您的存储桶名为“test”并且您希望文件名为“works.ipt”时,这必须是 url developer.api.autodesk.com/oss/v2/buckets/test/objects/…' 我遇到了同样的问题,这个解决方案有效,谢谢!我将使用 MY_OBJECT_NAME 创建的 URL 误解为扩展名之前的文件名。添加了扩展并工作。我按照此处的说明进行操作,特别是在“将文件上传到您的存储桶”部分autodesk-forge.github.io/?GettingStarted

以上是关于Autodesk forge“无法触发此文件的翻译”的主要内容,如果未能解决你的问题,请参考以下文章

Autodesk Forge 模型衍生 API:在 Autodesk Forge 衍生子项中找不到“图形”角色

添加 Autodesk forge 扩展

如何在 Forge Viewer 中激活“Autodesk.MemoryLimited”扩展?

Autodesk forge 自定义几何图形

Autodesk Forge 设计自动化

Autodesk-forge 不接受 cURL 请求范围