我在衍生工具Api的代码中发现骨灰多久了
Autodesk.Forge.Model.DynamicJsonResponse translationResponse =衍生物Api.Translate(job,true); 字符串responseUrn = translationResponse.Dictionary [“ urn”]。ToString();
答案 0 :(得分:0)
我猜你在问base64骨灰盒的字符串长度。
根据我的经验,这取决于您传递给base64字符串编码器的objectId
(又称PUT /buckets/:bucketKey/objects/:objectName返回的对象urn)的字符,并且与传递给{ {3}}(Forge Model Derivative API)。通常,每个Base64位代表POST job中的6位数据,这是计算编码字符串长度wiki的公式:
((4 * n / 3) + 3) & ~3
note1。 n
是您的objectId
的字符串长度。
例如,urn:adsk.objects:os.object:mybucket/example.txt
的长度为47。经过base64编码后,结果dXJuOmFkc2sub2JqZWN0czpvcy5vYmplY3Q6bXlidWNrZXQvZXhhbXBsZS50eHQ=
的长度为((4 * 47 / 3) + 3) & ~3 = 64
。
note2。。在手动触发Forge翻译作业时,必须删除填充字符=
,但Forge Model Derivative API不允许这样做。这是公式:
len of the urn = 64 - n of the padding character `=`
因此,您从API响应中获得的the的最终字符串长度为64 - 1 = 63
。
参考link
note3。。除非您调用https://en.wikipedia.org/wiki/Base64删除翻译的结果(也就是可见气泡),否则可见气泡将永久存储在Forge服务器中。尽管存储在托管OSS存储桶中的模型文件已由您设置的DELETE :urn/manifest删除,但是您也可以使用可见气泡的来访问它们。