Viewer中的根相对文档URL加载失败

时间:2017-09-20 10:10:41

标签: javascript autodesk-forge autodesk-viewer

我一直在浏览Augusto的示例,以便使模型脱机加载([https://forge.autodesk.com/blog/viewer-airplane-mode])并且遇到指定文档路径的问题,我无法设置根相对我的资产的路径。

使用绝对URL有效但在javascript文件中不实用/最佳实践(缓存,域/资产路径更改等)

我尝试了一个/和一个//但路径仍然计算为./(AssetPath)

有没有办法强制加载或者我必须重写加载方法以传入绝对URL来加载资产?

改编自列出的例子:

var myViewerDiv = document.getElementById('MyViewerDiv');
var viewer = new Autodesk.Viewing.Private.GuiViewer3D(myViewerDiv);
var options = {
    'env': 'Local',
    'document': '/Assets/1/1/0.svf'
};
    Autodesk.Viewing.Initializer(options, function () {
        viewer.start(options.document, options);
});

这不会从“/ Assets / 1/1 / 0.svf”加载文档,而是从“../ Assets / 1/1 / 0.svf”<< / strong>即可。

下面的预期文件请求:“http://localhost:port/Assets/1/1/0.svf

页面路径:“/ Model /”
实际文件申请:“http://localhost:port//Assets/1/1/0.svf

页面路径:“/ Model / Packs /”
实际文件申请:“http://localhost:port/Model/Assets/1/1/0.svf

鉴于我设置了路由相对URL,我认为第二个例子也应该是“/Shaver/0.svf”

根据一些调查,我认为问题出在viewer3d.js Document.getDocumentPathavp.pathToURL方法

1 个答案:

答案 0 :(得分:0)

我没有遇到任何问题,你试过Assets/1/1/0.svf吗?

通常我有一个服务器/resources公开的路由,它指向一个包含静态资源的目录(文件,图像,svf等等......)。只要服务器将目录映射到/resources,目录本身可以位于任何位置并命名为任何内容,然后我向查看器提供的路径如下:

 viewer.start()
 viewer.loadModel('resources/models/dev/office/Resource/3D_View/3D/office.svf')

您可以查看本文了解更多详情:

Working seamlessly online/offline when developing your Web applications with the Forge Viewer

希望有所帮助