将localhost端点映射到绝对路径

时间:2018-06-20 09:36:19

标签: matlab web-services path chromium-embedded undocumented-behavior

例如,通过生成UIFigure来创建webwindow对象时,

hF = uifigure();
% wait for it to load...
hWW = struct(struct(struct(hF).Controller).PlatformHost).CEF;

我们可以找到嵌入式浏览器访问的URL以显示图形:

>> hWW.URL

ans =

'https://localhost:31516/toolbox/matlab/uitools/uifigureappjs/cefComponentContainer.html ...'

手动检查MATLAB安装文件夹的内容表明/toolbox/指向与toolboxdir([])输出相同的位置。

>> toolboxdir([])

ans =

    'D:\Program Files\MATLAB\R2018a\toolbox'

将以上内容与Deep Learning Network Analyzer窗口报告的网址进行比较时,

analyzeNetwork(reluLayer);
% wait for it to load...
hWW = matlab.internal.webwindowmanager.instance.windowList(end);

我们看到了一条截然不同的路径:

>> hWW.URL

ans =

'https://localhost:31516/static/NetworkAnalyzer/index.html ...'

/static/NetworkAnalyzer/转换为

C:\ProgramData\MATLAB\SupportPackages\R2018a\toolbox\nnet\supportpackages\analysis_report\webapp\analysis_report\

-- or equivalently --

file:///C:/ProgramData/MATLAB/SupportPackages/R2018a/toolbox/nnet/supportpackages/analysis_report/webapp/analysis_report/

我的问题是:

  1. MATLAB如何确定路径映射?是否有解决这些问题的功能或将它们存储在某处的文件?
    注意:我相当确定这不是硬编码,因为在安装软件包时似乎会添加新路径,如2 nd 示例所示。
  2. 给出在生成webwindow时由MATLAB创建的任意路径,如何将其自动转换为绝对路径?
    注意:我正在寻找比手动维护的查找表更高级的内容。

到目前为止,我发现了一些线索:

  1. C:\ProgramData\MATLAB\SupportPackages\R2018a\toolbox\nnet\supportpackages\analysis_report\registry\support_package_registry.xml,其中包含以下信息:

    basecode="NETWORK_ANALYZER"
    ...
    <Path name="$(INSTALLDIR)/analysis_report"></Path>
    
  2. matlab.addons.installedAddons函数返回附加组件列表,告诉我们NETWORK_ANALYZER是附加组件的标识符。工具箱的相关功能matlab.addons.toolbox.installedToolboxes并没有帮助(在我的情况下返回了一个空数组)。

  3. MATLAB使用.phl文件,这些文件包含纯文本路径条目。

  4. 在插件的安装过程中,/static/NetworkAnalyzer/引出的路径已添加到MATLAB path中。

0 个答案:

没有答案