我原来的问题
我正在构建一个 vue.js 3 桌面应用程序,以 Electron 作为包装器。我需要从用户存储中加载图像并将其显示在应用程序中,但我不断收到
Not allowed to load local resource: file:///C:/Users/.../somename.jpg
错误。我查了一下,发现了这个:
Electron 应用程序中带有文件图像 URL 的“不允许加载本地资源”
似乎解决该错误的唯一方法(除了关闭
webSecurity
之外)是创建自己的自定义文件协议。
我的新问题和疑问
我可以在网上找到的所有答案和示例都使用
protocol.registerFileProtocol
,这是已弃用(我还找到了使用interceptFileProtocol
的示例,它也是已弃用,以及registerBufferProtocol
,它也是已弃用)。
如何在电子中创建自定义文件协议而不使用已弃用的方法?我对电子很陌生。预先感谢。
// Deprecated in Electron 25
protocol.registerHttpProtocol('some-protocol', () => {
callback({ url: 'https://electronjs.org' })
})
// Replace with
protocol.handle('some-protocol', () => {
return net.fetch('https://electronjs.org')
})