我无法上传简单的dwg并使用forge API中的TranslationWorker将其转换为svf。我正在使用autocad 2014并创建一个带圆圈的简单绘图并将其另存为.dwg。
我在windows中使用命令行和以下curl命令:
curl -v "https://developer.api.autodesk.com/oss/v2/buckets/kumkortbucket/objects/sirkel.dwg" -X "PUT" -H "Authorization: Bearer OAUTH_TOKEN" -H "Content-Type: application/octet-stream" -T "C:\Users\DAN\Documents\Testfiler\sirkel.dwg"
产生以下结果:
HTTP/1.1 100 Continue
* We are completely uploaded and fine
< HTTP/1.1 200 OK
< Access-Control-Allow-Credentials: true
< Access-Control-Allow-Headers: Authorization, Accept-Encoding, Range,Content-Type
< Access-Control-Allow-Methods: GET
< Access-Control-Allow-Origin: *
< Content-Type: application/json; charset=utf-8
< Date: Tue, 14 Feb 2017 12:56:38 GMT
< Server: Apigee Router
< Content-Length: 355
< Connection: keep-alive
<
{
"bucketKey" : "kumkortbucket",
"objectId" : "urn:adsk.objects:os.object:kumkortbucket/sirkel.dwg",
"objectKey" : "sirkel.dwg",
"sha1" : "78f92dc0a364814756cfa9392d7fa95aecf0916b",
"size" : 31548,
"contentType" : "application/octet-stream",
"location" : "https://developer.api.autodesk.com/oss/v2/buckets/kumkortbucket/objects/sirkel.dwg"
}* Connection #0 to host developer.api.autodesk.com left intact
然后我使用POST作业命令
转换它curl -X "POST" -H "Authorization: Bearer OAUTH_TOKEN" -H "Content-Type: application/json" -v "https://developer.api.autodesk.com/modelderivative/v2/designdata/job" -d "{\"input\": {\"urn\": \"dXJuOmFkc2sub2JqZWN0czpvcy5vYmplY3Q6a3Vta29ydGJ1Y2tldC9zaXJrZWwuZHdn\"},\"output\": {\"formats\": [{\"type\": \"svf\",\"views\": [\"2d\",\"3d\"]}]}}"
使用GET命令检查结果我得到以下结果:
{&#34;类型&#34;:&#34;清单&#34;&#34; hasThumbnail&#34;:&#34;假&#34;&#34;状态&#34;:& #34;失败&#34;&#34;进度&#34;:&#34;完成&#34;&#34;区&#34;:&#34;美国&#34;&#34;骨灰盒&# 34;:&#34; dXJuOmFkc2sub2JqZWN0czpvcy5vYmplY3Q6a3Vta29ydGJ1Y2tldC9zaXJrZWwuZHdn&#34;&#34;版本&#34;:&#34; 1.0&#34;&#34;衍生物&#34;:[{&#34;名称&#34; :&#34; sirkel.dwg&#34;&#34; hasThumbnail&#34;:&#34;假&#34;&#34;状态&#34;:&#34;失败&#34;&# 34;进度&#34;:&#34;完整&#34;&#34;邮件&#34;:[{&#34;类型&#34;:&#34;错误&#34;&#34;代码& #34;:&#34; AutoCAD-InvalidFile&#34;,&#34; message&#34;:&#34;抱歉,图纸文件无效,无法查看。 \ n-请尝试在AutoCAD中恢复该文件,然后重新上传以查看。&#34;},{&#34;输入&#34;:&#34;错误&#34;,&#34;消息&# 34;:&#34;提取器中不可恢复的退出代码:-1073741831&#34;,&#34;代码&#34;:&#34; TranslationWorker-InternalFailure&#34;}],&#34; outputType&#34;: &#34; svf&#34;}]} *连接#0以托管developer.api.autodesk.com完好无损
我无法弄清楚我做错了什么。我可以在autocad和在线查看器中查看该文件。
干杯。
编辑:
这是一个上传有问题的文件 http://www.filedropper.com/ekbsroplain
答案 0 :(得分:0)
这是我做的(整个过程):
curl -v 'https://developer.api.autodesk.com/authentication/v1/authenticate' -X 'POST' -H 'Content-Type: application/x-www-form-urlencoded' -d 'client_id=****&client_secret=****&grant_type=client_credentials&scope=data:read data:write data:create bucket:create bucket:read'
curl -v 'https://developer.api.autodesk.com/oss/v2/buckets' -X 'POST' -H 'Content-Type: application/json' -H 'Authorization: Bearer TOKEN' -d '{"bucketKey":"kumkortbucket170214","policyKey":"transient"}'
注意我没有内容类型和内容长度上传,实际上不需要:
curl -v 'https://developer.api.autodesk.com/oss/v2/buckets/kumkortbucket170214/objects/drawing1.dwg' -X 'PUT' -H 'Authorization: Bearer TOKEN' -T '/Users/augustogoncalves/Desktop/Drawing1.dwg'
最后是POST JOB:
curl -X 'POST' -H 'Authorization: Bearer TOKEN' -H 'Content-Type: application/json' -v 'https://developer.api.autodesk.com/modelderivative/v2/designdata/job' -d '{"input":{"urn":"dXJuOmFkc2sub2JqZWN0czpvcy5vYmplY3Q6a3Vta29ydGJ1Y2tldDE3MDIxNC9kcmF3aW5nMS5kd2c="},"output":{"formats":[{"type": "svf","views": ["2d","3d"]}]}}'
工作得很好
{
"result":"success",
"urn":"dXJuOmFkc2sub2JqZWN0czpvcy5vYmplY3Q6a3Vta29ydGJ1Y2tldDE3MDIxNC9kcmF3aW5nMS5kd2c",
"acceptedJobs":{
"output":{
"formats":[
{
"type":"svf",
"views":[
"2d",
"3d"
]
}
]
}
}
}