Not allowed to load local resource: file:///C://Users/LOSER/Desktop/program/vue/vue-project/src/assets/emoji_huaji.png
时间: 2023-08-02 11:09:02 浏览: 245
这个错误提示"Not allowed to load local resource"是由于浏览器的安全策略导致的。浏览器默认不允许通过file协议加载本地文件资源,以防止恶意脚本访问用户的本地文件。因此,你需要通过一些方法来解决这个问题。
一种解决方法是使用一个本地Web服务器来提供文件资源。你可以使用Web Server for Chrome插件来搭建一个本地Web服务器,并将你的文件放在服务器的目录下。然后,通过服务器的URL来访问文件,而不是直接使用file协议的本地路径。你可以在Chrome浏览器中下载并安装Web Server for Chrome插件,然后配置服务器并选择要访问的文件。这样,你就可以通过服务器的URL来加载文件了。[2]
另一种解决方法是将文件放在项目的静态资源目录下,然后通过相对路径来引用文件。在你的Spring Boot项目中,你可以在MyWebConfig类的addResourceHandlers方法中配置静态资源的映射路径。将文件放在静态资源目录下后,你可以使用相对路径来引用文件,而不是使用file协议的本地路径。[1]
总结起来,你可以通过搭建本地Web服务器或者将文件放在项目的静态资源目录下来解决"Not allowed to load local resource"的问题。这样,你就可以通过服务器的URL或者相对路径来加载文件了。
相关问题
Not allowed to load local resource: file:///C:/Users/TCS/Desktop/11111/program---cmp/program---cmp/dist/win-unpacked/resources/app.asar/dist/index.html
这个错误通常是因为 Chromium 浏览器的安全策略不允许从本地文件系统直接加载资源。
如果你的 Electron 应用程序需要加载本地文件,你可以使用 `protocol` 模块来注册自定义协议处理程序,从而避免这个错误。具体来说,你可以按照以下步骤操作:
1. 在主进程中引入 `protocol` 模块。
```javascript
const { app, BrowserWindow, protocol } = require('electron');
```
2. 在应用程序准备就绪后,使用 `protocol.registerFileProtocol` 方法注册自定义协议处理程序。
```javascript
app.whenReady().then(() => {
protocol.registerFileProtocol('app', (request, callback) => {
const url = request.url.replace('app://', '');
callback(url);
});
});
```
在上面的代码中,我们注册了一个名为 `app` 的自定义协议,并指定了一个回调函数来处理该协议的请求。该回调函数接收两个参数:`request` 和 `callback`。`request` 对象包含了请求的详细信息,如请求的 URL、协议等;`callback` 是一个回调函数,用于返回资源的路径或 URL。
在这个示例中,我们使用 `request.url.replace` 方法将 `app://` 替换为空字符串,得到请求的文件路径。然后,将该文件路径传递给 `callback` 回调函数,以返回资源的路径或 URL。
3. 在渲染进程中,使用自定义协议来加载本地资源。
```html
<img src="app:///path/to/image.png">
```
在上面的代码中,我们使用 `app://` 协议来加载本地图片。这样就可以避免 Chromium 浏览器的安全限制,成功加载本地资源。
请注意,使用自定义协议来加载本地资源可能会带来安全风险,请谨慎使用。
electron Not allowed to load local resource: file:///C:/Users/TCS/Desktop/11111/program---cmp/program---cmp/dist/win-unpacked/resources/app.asar/app:/index.html
这个错误通常是由于 Electron 安全策略导致的,它不允许从本地文件系统加载资源,以防止潜在的安全漏洞。
要解决这个问题,你需要将你的文件路径指向你的服务器,而不是本地文件系统。你可以使用 `loadURL` 方法来加载你的 `index.html` 文件,如下所示:
```
mainWindow.loadURL('http://localhost:3000/index.html');
```
这样,在你的 Electron 应用程序中,你的 `index.html` 将从本地服务器加载,而不是从本地文件系统加载。
阅读全文