Javascript 从本地磁盘加载映像
目前,我通过electron vue样板获得了electron 我的目标是在应用程序中显示给定文件夹中的所有图像(渲染器进程)Javascript 从本地磁盘加载映像,javascript,electron,electron-vue,Javascript,Electron,Electron Vue,目前,我通过electron vue样板获得了electron 我的目标是在应用程序中显示给定文件夹中的所有图像(渲染器进程) 奎尔韦泽克尼斯 阿克图尔:{{sourcePath} Aktualisieren 从“./ImageDispatchPage/ImageFile”导入ImageFile; 从“fs”导入fs; 从“electron”导入{ipc}; 从“路径”导入路径; 导出默认值{ 名称:“图像发送页面”, 组件:{ImageFile}, 数据(){ 返回{ 图像:[],
奎尔韦泽克尼斯
阿克图尔:{{sourcePath}
Aktualisieren
-
从“./ImageDispatchPage/ImageFile”导入ImageFile;
从“fs”导入fs;
从“electron”导入{ipc};
从“路径”导入路径;
导出默认值{
名称:“图像发送页面”,
组件:{ImageFile},
数据(){
返回{
图像:[],
sourcePath:null,
}
},
方法:{
扫描(){
//如果未设置路径,则不执行任何操作
如果(!this.sourcePath){
返回;
}
//迭代目录中的所有文件
让files=fs.readdirSync(this.sourcePath);
const regex=/.jpe?g$/gmi;
对于(让文件的文件){
//忽略非jpg文件
如果(!file.match(regex)){
继续;
}
设image={};
image.name=文件;
image.path=path.join(this.sourcePath,文件);
image.base64=新缓冲区(fs.readFileSync(image.path)).toString('base64');
这个.images.push(image);
}
},
selectSourceDir(){
ipc.send('open-directory-dialog');
ipc.on('selected-directory',(事件,目录)=>{
this.sourcePath=目录;
});
}
},
创建(){
这是scan();
}
}
在我的主进程中关闭web安全性就成功了
mainWindow = new BrowserWindow({
height: 563,
useContentSize: true,
width: 1000,
webPreferences: {
webSecurity: false
}
});
使用图像的相对文件路径,而不是URL(我没有向下投票)。我尝试使用app.getAppPath()和nodes path.relative(不确定这是否是您的意思)确定图像的相对路径,这为我提供了相对路径,但控制台中显示的错误消息保持不变:“不允许加载本地资源”关闭web安全:
“web首选项”:{“web安全”:false}
谢谢Randy!快速查看文档后,发现当前版本的符号有所不同。此设置是否存在任何安全问题?安全性取决于您对应用程序的操作。如果您只加载作为应用程序一部分控制的资源,则不存在安全问题。否则可能会有。