Autodesk forge autodesk转换为svf失败
我按照本教程中的步骤将文件转换为svf格式,以便能够使用autodesk viewer进行查看。 我正在尝试将dwg文件转换为svf。我顺利完成了任务3第1步,但在第2步中,当我提出请求时,我得到了以下响应:Autodesk forge autodesk转换为svf失败,autodesk-forge,autodesk-viewer,autodesk-model-derivative,Autodesk Forge,Autodesk Viewer,Autodesk Model Derivative,我按照本教程中的步骤将文件转换为svf格式,以便能够使用autodesk viewer进行查看。 我正在尝试将dwg文件转换为svf。我顺利完成了任务3第1步,但在第2步中,当我提出请求时,我得到了以下响应: {"urn":"dXJuOmFkc2sub2JqZWN0czpvcy5vYmplY3Q6YnVja2V0MTJzL3Zpc3VhbGl6YXRpb25fLV9hZXJpYWwuZHdn", "derivatives":[{&qu
{"urn":"dXJuOmFkc2sub2JqZWN0czpvcy5vYmplY3Q6YnVja2V0MTJzL3Zpc3VhbGl6YXRpb25fLV9hZXJpYWwuZHdn",
"derivatives":[{"hasThumbnail":"false","name":"visualization_-_aerial.dwg","progress":"complete",
"messages":[{"type":"error","code":"AutoCAD-InvalidFile",
"message":"Sorry, the drawing file is invalid and cannot be viewed.
\n- Please try to recover the file in AutoCAD, and upload it again to view."},
{"type":"error","message":"Unrecoverable exit code from extractor: -1073741831",
"code":"TranslationWorker-InternalFailure"}],
"outputType":"svf","status":"failed"}],
"hasThumbnail":"false","progress":"complete","type":"manifest","region":"US","version":"1.0",
"status":"failed"}
我尝试使用他们的在线查看器查看该文件,并且能够完美地查看它,因此我知道该文件没有任何问题。这一错误的可能原因是什么
编辑:
在获得访问令牌并创建bucket后,我使用此请求将文件上载到bucket(任务2的步骤2):
对此的回应是200OK
然后,我使用教程中提供的在线工具将urn转换为Base64编码的urn
以下是我发送的职务发布请求(任务3的步骤1):
对此的回应是“成功”
以及检查翻译状态的get请求:
curl -X GET 'https://developer.api.autodesk.com/modelderivative/v2/designdata/{URN}/manifest' -H 'Authorization: Bearer {TOKEN}'
对这一点的回应就是我上面提到的
该文件实际上是上传到桶,我可以查看它,但即使在那里,它显示翻译失败
编辑2:
下面是来自GetManifest请求的响应的一个映像(使用开发工具获得)
如果您使用单个文件或zip文件,请将压缩文件更改为false,如果您使用的是zip文件,请设置为true,同时提及
rootFilename
文件名(根文件名)回复正文。根据前面答案中添加的评论,问题似乎出在上传部分。正如您在教程中看到的,它使用
--data-binary '@PATH_TO_DOWNLOADED_ZIP_FILE'
@符号很重要,如果没有它,您将得到这样的答复
{
"bucketKey" : "adam",
"objectId" : "urn:adsk.objects:os.object:adam/test.dwg",
"objectKey" : "test.dwg",
"sha1" : "cb54c0750e9201bbfa6da6adad6b496bec11a111",
"size" : 27,
"contentType" : "application/x-www-form-urlencoded",
"location" : "https://developer.api.autodesk.com/oss/v2/buckets/adam/objects/test.dwg"
* Connection #0 to host developer.api.autodesk.com left intact
}
看看尺码:27号——这绝对不对。因此,当我尝试翻译文件时,我会收到与您相同的错误消息
但是,如果我添加@符号,则一切都很好:
curl -X PUT -v 'https://developer.api.autodesk.com/oss/v2/buckets/{bucketname}/objects/test.dwg' -H 'Authorization: Bearer {TOKEN}' -H 'Accept-Encoding: gzip, deflate' --data-binary '@/Users/nagyad/Downloads/test.dwg'
注意:我在Mac上,在Windows上,路径看起来会有点不同
我这次得到的答复是:
{
"bucketKey" : "adam",
"objectId" : "urn:adsk.objects:os.object:adam/test.dwg",
"objectKey" : "test.dwg",
"sha1" : "d17e9156c948caed3a98788836e6c1f3d5fddadc",
"size" : 55727,
"contentType" : "application/x-www-form-urlencoded",
"location" : "https://developer.api.autodesk.com/oss/v2/buckets/adam/objects/test.dwg"
* Connection #0 to host developer.api.autodesk.com left intact
}
这一次,当我尝试翻译文件时,它成功了。rootFileName应该只是文件名,对吗?您的请求主体是什么?您对该文件还有问题吗?如果是,请提供职位申请机构?另外,你能再检查一下上传是否成功吗?您可以尝试查看上传的内容file@AdamNagy用请求更新了问题。甚至尝试在提供的链接上查看上载的文件,但它表示转换失败您使用的示例用于zip文件,但您是直接上载dwg,而不是在zip中。正如@dhinchakdeveloper所说,您必须将
compressedUrn
设置为false
(或者将其与rootFilename
一起忽略)。另外,我认为generateMasterViews
仅适用于Revit文件,因此您也可以不使用它。因此,正文将是:{“input”:{“urn”:“{urn}”,output:{“destination”:{“region”:“us”},formats:[{“type”:“svf”,“views”:[“2d”,“3d”]}]}
curl -X PUT -v 'https://developer.api.autodesk.com/oss/v2/buckets/{bucketname}/objects/test.dwg' -H 'Authorization: Bearer {TOKEN}' -H 'Accept-Encoding: gzip, deflate' --data-binary '@/Users/nagyad/Downloads/test.dwg'
{
"bucketKey" : "adam",
"objectId" : "urn:adsk.objects:os.object:adam/test.dwg",
"objectKey" : "test.dwg",
"sha1" : "d17e9156c948caed3a98788836e6c1f3d5fddadc",
"size" : 55727,
"contentType" : "application/x-www-form-urlencoded",
"location" : "https://developer.api.autodesk.com/oss/v2/buckets/adam/objects/test.dwg"
* Connection #0 to host developer.api.autodesk.com left intact
}