寿命有多长

时间:2019-01-10 06:24:40

标签: autodesk-forge autodesk-viewer autodesk

我在衍生工具Api的代码中发现骨灰

Autodesk.Forge.Model.DynamicJsonResponse translationResponse =衍生物Api.Translate(job,true);                     字符串responseUrn = translationResponse.Dictionary [“ urn”]。ToString();

1 个答案:

答案 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删除,但是您也可以使用可见气泡的来访问它们。