“registerFileProtocol”在 Electron 中已被弃用,现在该使用什么?

问题描述 投票:0回答:1

我原来的问题

我正在构建一个 vue.js 3 桌面应用程序,以 Electron 作为包装器。我需要从用户存储中加载图像并将其显示在应用程序中,但我不断收到

Not allowed to load local resource: file:///C:/Users/.../somename.jpg
错误。我查了一下,发现了这个:

Electron 应用程序中带有文件图像 URL 的“不允许加载本地资源”

似乎解决该错误的唯一方法(除了关闭

webSecurity
之外)是创建自己的自定义文件协议。

我的新问题和疑问

我可以在网上找到的所有答案和示例都使用

protocol.registerFileProtocol
,这是已弃用(我还找到了使用
interceptFileProtocol
的示例,它也是已弃用,以及
registerBufferProtocol
,它也是已弃用)。

如何在电子中创建自定义文件协议而不使用已弃用的方法?我对电子很陌生。预先感谢。

electron vuejs3 deprecated
1个回答
0
投票
// 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')
})
© www.soinside.com 2019 - 2024. All rights reserved.