我正在使用Autodesk Forge到post job来创建缩略图。以下是我发送的httpheader的正文。
{ "input" :
{ "urn":"urnNum",
"compressedUrn" : true,
"rootFilename" : "RodDesign"},
"output" :
{ "destination" : { "region" : "us"},
"formats" : [{"type":"thumbnail"}]
}
}
状态码为200,但它会返回响应:
Failed to download the design description for the input design.
我不确定该如何解释。我不知道发送的数据是否有问题,或者我尝试访问的文件是否有问题,或者其他原因。
感谢您的帮助。
答案 0 :(得分:0)
您的rootfilename
应该带有扩展名,并且与档案中的模型文件完全匹配:
{ "input" :
{ "urn":"dXJuOmFkc2sub2JqZWN0czpvcy5vYmplY3Q6bW9kZWxkZXJpdmF0aXZlL0E1LnppcA",
"compressedUrn" : true,
"rootFilename" : "RodDesign.rvt"},
"output" :
{
"formats" : [{"type":"thumbnail"}] //output region defaults to US so no need for it here
}
}
如果您的模型文件没有扩展名,那么我们的引擎将无法确定将其分发给哪个提取器-我们的翻译引擎ID根据扩展名(例如rvt,dwg等)来确定模型文件的类型)。
还要确保将存档完全上传到存储桶-使用GET buckets/:bucketKey/objects/:objectName/details 查询对象详细信息,并检查其大小和SHA1(可以使用this计算本地文件,摘要应为内容相同)
编辑
什么是存档?
邮政编码,RAR,TAR等
为什么在给它一个urn时我们需要使用带有扩展名的文件名-它应该是一个唯一的标识符,从中提取条目来告诉读者文件的类型?我在伪造数据中看不到文件类型。我们如何以编程方式确定这一点?
如果您要直接翻译设计文件而不是存档文件(这意味着什么,请参见here),那么请忽略compressedUrn
和rootFilename
。有关详细信息,请参见教程here。
我们如何知道文件是否已压缩?如果代码需要扩展根文件名以将其发送到正确的提取器,为什么对于未压缩的文件则不需要它?
当然,我们的翻译服务要求存储桶中的模型文件具有正确的扩展名,以便可以将它们分配给正确的提取器。
我怎么知道文件的格式? Fusion 360的默认设置是什么?我怎么知道我的格式是否正确,并且出现同一条消息只是另一个错误?
对于2d绘图为f2d,对于3d模型为f3d。您始终可以在Google上找到正确的扩展名的答案。
查找源文件是否存在问题,我该如何解决?
您需要确保存储桶中的模型文件具有正确的扩展名,否则它将不会被分派到相应的提取器,从而导致错误。