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

tauri程序加载本地图片或者文件在前端页面展示

要想在前端页面中展示本地文件或者文件夹,需要使用convertfilesrc这个api,可以非常方便的展示内容,官方文档:tauri | Tauri Apps

convertFileSrc甚至位于invoke之前,但我却一直没有注意到它,一方面是因为,之前从没有想过要使用绝对路径来转换URL,因为纯前端是做不到这一点的;另一方面,由于思维惯性,前端打开本地文件往往都是用的input file,遇到这个问题我一直想的是如何从input事件着手,没有去仔细看文档……这就是所谓的灯下黑吗

需要选择文件并拿到文件路径,然后传递进去,选择文件就需要使用dialog的api,需要配置:

"dialog": {
                "all": true,
                "ask": true,
                "confirm": true,
                "message": true,
                "open": true,
                "save": true
            },

点击一个按钮来选择文件触发的事件,拿到选中的文件路径,然后转化为url:

import { convertFileSrc } from '@tauri-apps/api/tauri'
import { open } from '@tauri-apps/api/dialog'


const localImagePath = ref('')

const uploadIcon = async () => {
    console.log('uploadIcon')
    const selected = await open({
        multiple: false, // 只允许选择一个文件
        filters: [
            {
                name: 'Image',
                extensions: ['png', 'jpg', 'jpeg', 'gif'],
            },
        ],
    })

    if (selected) {
        console.log('Selected file path:', selected)
        const url = convertFileSrc(selected as string)
        localImagePath.value = url
        return selected // 返回选择的文件路径
    }
}

然后展示的时候使用img标签就可以了:

最后的效果:


http://www.kler.cn/news/321712.html

相关文章:

  • ModStartCMS v8.9.0 图片上传优化,富文本编辑器修复
  • Spring Boot 实战:使用观察者模式实现实时库存管理
  • localectl 命令:系统语言、键盘布局和区域设置
  • CORE 中间件、wwwroot
  • C++11中引入的thread
  • 正向科技|格雷母线定位系统的设备接线安装示范
  • 脚手架是什么?详细版+通俗易懂版!!!!!!
  • DNS与host文件
  • 职业技能大赛-自动化测试笔记(PageObject)分享-4
  • 如何将自定义支付网关与 WooCommerce Checkout 区块集成
  • HarmonyOS---权限和http/Axios网络请求
  • 处理 VA02修改行项目计划行(SCHEDULE LINES )报错:不可能确定一个消耗帐户
  • count(1)、count(*) 与 count(列名) 的区别
  • zabbix“专家坐诊”第257期问答
  • 19、网络安全合规复盘
  • C++ | Leetcode C++题解之第440题字典序的第K小数字
  • 【HDP】zookeeper未授权漏洞修复
  • C语言课程设计题目四:实验设备管理系统设计
  • Flutter鸿蒙化环境配置(windows)
  • 网站设计中安全方面都需要有哪些考虑
  • 【opencv】——为arm平台交叉编译
  • Apache Iceberg 数据类型参考表
  • URL中 / 作为字符串,而不是路径。
  • 19.1 使用k8s的sdk编写一个项目获取pod和node信息
  • 【毕业论文+源码】如何使用Spring Boot搭建一个简单的篮球论坛系统
  • 企业急于采用人工智能,忽视了安全强化
  • Linux云计算 |【第四阶段】NOSQL-DAY3
  • ubuntu 24搭建docker私有仓库
  • 【图像处理】多幅不同焦距的同一个物体的平面图象,合成一幅具有立体效果的单幅图像原理(二)
  • 通过python脚本采集TCP自定义端口连接数数据推送到Prometheus