【问题标题】:Serving external resources in Angular 11在 Angular 11 中提供外部资源
【发布时间】:2021-07-18 23:13:36
【问题描述】:

我目前正在使用 Angular 11 + Electron + Java 构建一个画廊应用程序,但我遇到了这个我无法解决的问题。 使用后端,我获得了用户选择的文件夹中的所有文件,但是,当我使用路径作为 src 时,Angular 在路径前添加了http://localhost:4200

我无法使用资产文件夹,因为包含图像的文件夹的源路径是由用户选择的,并且可能因不同的 PC 而异。

处理这个问题的正确方法是什么?

【问题讨论】:

    标签: javascript angular electron


    【解决方案1】:

    我找到了解决办法。 首先是设置

    webSecurity: false
    

    在电子的 main.ts 文件中。 然后,在同一个文件中,注册以下协议:

    app.on('ready', () => {
        setTimeout(createWindow, 400);
        protocol.registerFileProtocol('file', (request, callback) => {
            const pathname = decodeURIComponent(request.url.replace('file:///', ''));
            callback(pathname);
        });
    });
    

    最后,使用图片路径时,在图片的绝对路径前加上file://

    这会带来潜在的安全问题,因此请仔细评估您的应用的使用方式!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-11-10
      • 1970-01-01
      • 2016-03-29
      • 1970-01-01
      • 2018-02-01
      相关资源
      最近更新 更多