我正在使用autodesk Forge到post job来创建缩略图。下面是我发送的httpheaders的正文。
{ "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.
我不知道如何解释这一点。我不知道我发送的数据是否存在问题,或者我尝试访问的文件存在问题,或者其他问题。
任何帮助表示赞赏。
您的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计算本地文件,并且摘要应该对相同内容相同)读数。
编辑
什么是档案?
拉链,稀有,她
当我们给它一个urn时,为什么我们需要使用带扩展名的文件名 - 这应该是一个唯一的标识符,从中提取一个条目告诉读者文件的类型?我没有在伪造数据中看到文件类型。我们如何以编程方式确定此内容?
如果您直接翻译设计文件而不是存档(请参阅here了解其含义),然后将compressedUrn
和rootFilename
保留。有关详细信息,请参阅教程here。
我们如何知道文件是否被压缩?如果代码需要扩展根文件名以将其发送到正确的提取器,为什么不对未压缩的文件需要?
当然,我们的翻译服务要求存储桶中的模型文件具有正确的扩展名,以便它可以将它们分派给正确的提取器。
我如何知道文件的格式? Fusion 360的默认值是什么?我怎么知道我的格式是否正确并且只有另一个错误产生相同的消息?
这对于2d绘图来说是f2d而对于3D模型来说是f3d。您可以随时谷歌查找正确的扩展名称的答案。
这是找到源文件的问题,我该如何解决?
您需要确保存储桶中的模型文件具有正确的扩展名,否则将不会将其分派到相应的提取器,从而导致错误。