【发布时间】: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 设置为实际文件名来实现它。
-
太好了,很高兴知道!如果你有时间,请分享答案,很乐意投票! :-)
标签: java autodesk autodesk-forge autodesk-viewer autodesk-model-derivative