当前位置: 首页 > news >正文

读取文件夹并展示图像的相关问题

读取文件

  1. 需要在前端安装tauri-plugin-fs,这主要是在batchPrint中的frontend中安装的;
  2. 需要在src-tauri/capabilities/default.json中添加permission,以获取权限
{"$schema": "../gen/schemas/desktop-schema.json","identifier": "main-capability","description": "capability for main window","windows": ["main"],"permissions": ["core:default","dialog:allow-open","dialog:allow-save","store:default",///////////////主要是下面这些//启用了文件系统的默认权限集"fs:default",{//允许程序读取目录内容"identifier": "fs:allow-read-dir",//allow指定允许访问的路径"allow": [{ "path": "$HOME/**" }//表示允许读取用户主目录基期所有子目录的内容,这里的$home是一个环境变量,会自动解析为用户的主目录路径,**是一个通配符,表示匹配目录下的所有子目录和文件]},{"identifier": "fs:allow-read-file","allow": [{ "path": "$HOME/**" }]}]
}
  1. lib.rs中初始化此插件
#[cfg_attr(mobile, tauri::mobile_entry_point)]
pub fn run() {tauri::Builder::default()//主要是他.plugin(tauri_plugin_fs::init()).plugin(tauri_plugin_dialog::init()).plugin(tauri_plugin_store::Builder::default().build()).setup(|app| {if cfg!(debug_assertions) {app.handle().plugin(tauri_plugin_log::Builder::default().level(log::LevelFilter::Info).build(),)?;}Ok(())}).run(tauri::generate_context!()).expect("error while running tauri application");
}

访问图片

async function loadImages() {if (!imagePath.value) {imageList.value = [];return;}try {const files = await readDir(imagePath.value);imageList.value = files.filter(file => file.isFile).map(file => file.name).filter(name => imageExtensions.some(ext => name.toLowerCase().endsWith(ext))).map(name => convertFileSrc(`${imagePath.value}/${name}`));console.log('加载图片:', imageList.value);} catch (error) {console.error('无法读取图片目录:', error);imageList.value = [];}
}

注意这里使用了convertFileSrc函数,将本地文件路径转换成url,可以使用webview访问.

这样做还不够,需要开启权限.下面是tauri.conf.jsonapp/security中的内容:
![assets/读取文件夹并展示图像的相关问题/file-20260103172906748.png]]

这段代码是 Tauri 应用程序的安全配置,涉及两个关键的安全机制:内容安全策略(CSP)和资源协议。"csp" 字段定义了应用程序的内容安全策略。这是一个浏览器安全特性,用于防止跨站脚本(XSS)攻击和其他注入攻击。"default-src 'self'" 表示所有内容类型默认只能从应用程序本身加载,不允许从外部源加载。这是一个严格的基础规则,确保了默认情况下的安全。img-src 'self' asset: https://asset.localhost 是对图片资源的特殊规则,它允许从三个来源加载图片:应用程序本身('self')、使用 asset: 协议的资源,以及来自 https://asset.localhost 的资源。这种配置在开发环境中很常见,允许从本地资源服务器或特殊的资源协议加载图片。"assetProtocol" 对象配置了 Tauri 的资源协议功能。"enable": true 启用了这个协议,允许应用程序使用自定义的 asset: 协议来访问静态资源,这是 Tauri 中高效加载本地文件的方式。"scope": ["**/*"] 定义了这个协议的访问范围,**/* 是一个通配符模式,表示允许访问项目中的所有文件。这意味着你的应用程序可以通过 asset: 协议访问任何静态资源文件,如图片、样式表和脚本。需要注意的是,这个配置中的 scope 相当宽松,允许访问所有文件。在生产环境中,建议根据实际需求限制范围,只允许访问特定的目录(例如 ["assets/**", "images/**"]),以进一步增强安全性。
http://www.jsqmd.com/news/188213/

相关文章:

  • 自监督预训练阶段:HunyuanOCR如何利用无标签数据
  • RISC-V架构展望:未来在平头哥处理器上运行的潜力
  • 2025年宁夏银川优秀的岗亭生产厂家排行榜单,岗亭集成房屋/值班岗亭/成品移动岗亭/移动岗亭,岗亭生产厂家哪家好 - 品牌推荐师
  • 2025年吴忠头部岗亭采购推荐排行榜,岗亭/民宿移动房屋/岗亭环保厕所/成品移动岗亭/户外站岗岗亭,岗亭采购联系电话 - 品牌推荐师
  • 手机截图翻译需求旺:HunyuanOCR拍照翻译功能测评
  • CCPA数据权利响应:用户请求删除OCR处理记录的机制
  • 国产密码算法支持:SM2/SM3/SM4能否用于HunyuanOCR通信
  • 不只是识别文字:HunyuanOCR还能做文档问答?
  • 8.11 sys 模块
  • 还在为问卷论文发愁?8款AI工具实测,5分钟自动生成8000字高信度数据!
  • 8.12 argparse 模块
  • 语言模型融合策略:HunyuanOCR内部是否集成BERT-like模块?
  • 8.13 正则表达式
  • Cross Attention机制应用:文本与图像特征融合方式揭秘
  • C++ 中的 string
  • 模型剪枝量化尝试:进一步压缩HunyuanOCR体积的可能性
  • 8.10 命名空间 作用域
  • 报错:OSError: [WinError 1455] 页面文件太小,无法完成操作
  • 华为云ModelArts适配可能性:公有云平台部署建议
  • 亲测好用10个AI论文网站,研究生高效写作必备!
  • CSS样式干扰识别吗?测试HunyuanOCR对网页截图的鲁棒性
  • 移动端适配问题:HunyuanOCR能否用于APP内集成?
  • Task02:数据库的基本使用(MongoDB)
  • 上下文纠错能力验证:HunyuanOCR是否具备语义校正功能
  • 2025年宁夏银川市有实力的岗亭源头厂家推荐排行榜,成品移动岗亭/值班岗亭/停车场岗亭/移动房屋,岗亭厂家推荐排行榜 - 品牌推荐师
  • 24 - 数据存储 - 向量数据库
  • Nginx反向代理配置:安全暴露HunyuanOCR 8000端口API
  • 边缘计算场景适用性:HunyuanOCR在IoT设备上的运行潜力
  • 2025知码狐北京集训
  • 车辆管理系统毕业论文+PPT(附源代码+演示视频)