是否在Electron窗口禁用webSecurity是显示本地图像的唯一方法?

时间:2018-02-13 23:26:19

标签: webpack electron

我希望我的Electron应用程序显示本地图像:

  
<!-- file.path has value of C:/Users/name/Desktop/1.png -->
<img :src="file.path">

但是当我使用图片代码时,我收到此错误:

Not allowed to load local resource: file:///C:/Users/name/Desktop/1.png

问题:

据我了解,为了能够加载本地图像,我必须通过添加webPreferences: { webSecurity: false }来关闭webSecurity

  • 这样做安全吗?在主窗口上禁用名为webSecurity的内容并不安全

  • 这是否真的是电子应用可以显示位于应用目录之外的用户本地图片的唯一方式

P.S。这是一个Electron-Vue项目。它使用webpack。

1 个答案:

答案 0 :(得分:3)

Electron在从非文件网址(http://localhost:9080运行)中运行网页时,不会加载file://网址。

这意味着当您处于开发模式并从Webpack开发服务器运行时,您只需要禁用webSecurity

在制作中,您可以在从文件加载时启用webSecurityfile://${__dirname}/index.html