在自己的存储中托管 NativeViewer 文件

Hosting NativeViewer files in own storage

我已经安装了 Autodesk Forge NativeViewer 运行,但现在我想下载翻译后的文件并存储在我自己的存储帐户中,而不是 AWS,然后从那里向查看器提供文件。

将查看器的环境设置设置为 'Local',然后调用将 URL 传递给托管 svf 文件的 loadModel 函数确实会使查看器从我自己的存储帐户中解析文件,但是我有两个问题:

  1. 如果将已经 URL 编码的 SAS 令牌附加到 URL,它会再次编码,从而导致特殊字符出现问题。
  2. 我无法覆盖 XHR 调用,因为它们是在 Web Worker 中进行的。

是否有可用的 object 我可以覆盖以设置 headers 或操纵 HTTP 调用以加载查看器资产? Web Worker 代码看起来每次都是动态加载的,而且似乎没有任何 object 全局 LMV object 实例,我可以覆盖它来让我访问 HTTP headers 等等?

我发现 LMV object 暴露了 'endpoint' 的一个实例,它暴露了 HTTP_HEADERS collection 在加载每个导数时使用的实例。通过向此 collection 添加授权 header,我可以从本地存储帐户加载衍生产品。

LMV.endpoint.HTTP_REQUEST_HEADERS = {
    'Authorization': 'Bearer TOKENVALUE'
};