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

ops/2024/10/19 3:01:35/

要想在前端页面中展示本地文件或者文件夹,需要使用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 = urlreturn selected // 返回选择的文件路径}
}

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

最后的效果:


http://www.ppmy.cn/ops/119904.html

相关文章

ThreadLocal原理解析及面试

基本使用 讲原理之前&#xff0c;我简单写个demo小程序说说怎么使用 public class TestThreadLocal {public static void main(String[] args) throws InterruptedException {ThreadLocal<String> tl new ThreadLocal();/**主线程设置了一个值*/tl.set("SSSSSs&…

测试用例的举例

1. 基于测试公式设计测试用例 通过功能&#xff0c;性能&#xff0c;安全性&#xff0c;界面&#xff0c;安全性&#xff0c;易用&#xff0c;兼容对于一个水杯进行测试用例的设计&#xff1b; 对于一个软件的测试用例设计&#xff1a; 功能&#xff1a;软件本质上能够用来干什…

OIDC6-OIDC 授权流程类型

OpenID Connect&#xff08;OIDC&#xff09;支持三种主要的授权流程&#xff08;Authorization Flow&#xff09;&#xff0c;分别是授权码流程&#xff08;Authorization Code Flow&#xff09;、隐式流程&#xff08;Implicit Flow&#xff09;和混合流程&#xff08;Hybrid…

mongoDB快速上手

MongoDB 将数据存储为一个文档&#xff0c;数据结构由键值(key>value)对组成。 MongoDB 文档类似于 JSON 对象。字段值可以包含其他文档&#xff0c;数组及文档数组&#xff0c; 下载https://www.mongodb.com/try/download/community 下载完成解压缩 在目下创建data/db文…

Redis中String类型的常用命令(append,getrenge,setrange等命令)

Redis----String命令 前言.常见的String存储类型. 常见命令1. set 命令2. get 命令3. mget命令与mset命令4. setnx命令5. setex与psetex命令6. incr与incrby与incrbyfloat命令7. decr与decrby命令8. append命令9. getrange和setrange命令10. strlen命令. 前言. 常见的String存…

51单片机系列-串口(UART)通信技术

&#x1f308;个人主页&#xff1a; 羽晨同学 &#x1f4ab;个人格言:“成为自己未来的主人~” 并行通信和串行通信 并行方式 并行方式&#xff1a;数据的各位用多条数据线同时发送或者同时接收 并行通信特点&#xff1a;传送速度快&#xff0c;但因需要多根传输线&#xf…

陶瓷4D打印有挑战,水凝胶助力新突破,复杂结构轻松造

大家好&#xff01;今天要和大家聊聊一项超酷的技术突破——《Direct 4D printing of ceramics driven by hydrogel dehydration》发表于《Nature Communications》。我们都知道4D打印很神奇&#xff0c;能让物体随环境变化而改变形状。但陶瓷因为太脆太硬&#xff0c;4D打印一…

某大型公园定岗定编项目成功案例纪实

某大型公园定岗定编项目成功案例纪实 ——优化人力配置&#xff0c;实施灵活化人员调整策略&#xff0c;解决忙闲不均问题 【客户行业】文旅行业&#xff1b;事业单位&#xff1b;公园 【问题类型】定岗定编 【客户背景】 某大型公园随着上级政策的改变&#xff0c;公园取…