我正在研究使用Markdown的电子记事本应用程序。目前,我正在尝试将图像插入笔记(使用Markdown语法)。
插入图像时,我的主过程将图像复制到notes目录中,然后将file:///
URL返回到图像文件。但是,当我尝试渲染图像时,它不会加载-并且出现错误Not allowed to load local resource: file:///Users/joe/notes/images/foo.jpg
。
有没有一种方法可以配置Electron允许这些本地图像URL?
答案 0 :(得分:1)
您需要注册文件协议才能删除 file:///
前缀。
import { protocol } from "electron";
app.whenReady().then(() => {
protocol.registerFileProtocol('file', (request, callback) => {
const pathname = decodeURI(request.url.replace('file:///', ''));
callback(pathname);
});
});
https://github.com/electron/electron/issues/23757#issuecomment-640146333
答案 1 :(得分:0)
选项1
关闭网络安全性
mainWindow = new BrowserWindow({
height: 563,
useContentSize: true,
width: 1000,
webPreferences: {
webSecurity: false
}
});
选项2
您可以创建自己的协议like this answer
这也是回答这个问题的user