vue3和tauri直接下载Binary 数组的二进制文件内容到本地

通过发送url请求,直接获取到一个文件的Binary 数组内容,然后通过tauri的api:writeBinaryFile保存文件到本地电脑。

发送请求的时候,要加上响应类型:responseType: ResponseType.Binary

然后等返回的响应内容:发现是一个Binary 数组

这个时候去查看writeBinaryFile这个api,发现刚好支持:fs | Tauri Apps

 

所以我们可以直接将这个返回的内容丢到writeBinaryFile里面就可以了。

但是我们还需要获取文件下载时候,要保存到的路径,这个就用tauri的save dialog api就可以了:dialog | Tauri Apps 

然后获取到文件的保存路径,就可以发送请求下载内容了:

const downFile = async (file?: any) => {var fileURL = file.openLink ? file.openLink : rightClickItem.openLinkconst basePath = await path.downloadDir() + `/${file.name ? file.name : rightClickItem.name}`;let selPath = await dialog.save({title: `保存文件: ${file.name ? file.name : rightClickItem.name}`,defaultPath: basePath,filters: [{name: '*',extensions: ['*']}]});console.log("selPath----", selPath);// 开始发送下载请求selPath && fileApi.downFile(fileURL).then(async res => {console.log("downRes----", res);writeBinaryFile({ contents: res.data as any, path: `${selPath}` }).then(res => {ElMessage({message: `${file.name ? file.name : rightClickItem.name}保存成功`,type: 'success',})}).catch(err => {ElMessage.error('文件保存失败:' + err)})})
}

实现的效果:

点击保存后:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/26384.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

解决Spring Data JPA查询存在缓存问题及解决方案

🌷🍁 博主 libin9iOak带您 Go to New World.✨🍁 🦄 个人主页——libin9iOak的博客🎐 🐳 《面试题大全》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~&#x1f33…

【PDFBox】PDFBox操作PDF文档之添加本地图片、添加网络图片、图片宽高自适应、图片水平垂直居中对齐

这篇文章,主要介绍PDFBox操作PDF文档之添加本地图片、添加网络图片、图片宽高自适应、图片水平垂直居中对齐。 目录 一、PDFBox操作图片 1.1、添加本地图片 (1)案例代码 (2)运行效果 (3)方…

学校招生报名小程序开发笔记(一)

背景 这是一个以报名为核心的职业学校招生小程序,目的是方便想要系统学习技能,入门某项技能或者领域的初高中毕业生,了解该学校的基本情况及各个专业,并提供报名路径,致力于技能型人才培养 功能规划 主要功能包括专…

IntelliJ IDEA下载安装教程

目录 友情提醒第一章、IDEA软件下载1.1)官网下载 第二章、IDEA软件安装2.1)以"ideaIU-2018.3.3.exe"为例3.2)启动IDEA软件 友情提醒 点击文章目录可以跳转 第一章、IDEA软件下载 IDEA 全称 IntelliJ IDEA。在智能代码助手、代码…

互联网医院牌照|互联网医院牌照办理|互联网医院申办

互联网医院牌照是一种医疗机构执业许可证,在行业中也称为“互联网医疗许可证”。互联网医院牌照由卫生健康委员会颁发,一般分为两种:一种是互联网医疗信息服务资质,另一种是互联网诊疗资质。那么如何申办互联网医院牌照呢&#xf…

面试之双亲委派原理

一面腾讯提问:如果我自定义一个 new Object 类,请问这个类是否会被加载? 回答:不会,因为双亲委派,向上加载。回答的过程中磨磨唧唧。当然最后一面也是没有过。 总之一句话:向上加载,向下委派. …

Morris遍历--验证二叉搜索树(java)

Morris遍历- 验证二叉搜索树题目描述Morris 遍历解题代码演示: morris 遍历改写后序遍历 验证二叉搜索树 来源:力扣(LeetCode) 链接:https://leetcode.cn/problems/validate-binary-search-tree 题目描述 给你一个二叉…

Mybatis中表关系查询结果集映射

文章目录 前言1. 实体类设计1.1 用户表1.2 地址表1.3 博客表1.4 粉丝互关表 2.插入数据3.表关联查询3.1 一对一关系3.2 一对多关系3.3 多对多关系 前言 resultMap 元素是 MyBatis 中最重要最强大的元素。它可以让你从 90% 的 JDBC ResultSets 数据提取代码中解放出来&#xff…

IMU+激光雷达实现大规模动作捕捉

VR技术的兴起,使得动作捕捉这门让人们可以使用肢体语言在虚拟世界中进行互动和交流的技术逐渐成为热门。随着科技的进步,如今的动作捕捉技术已经十分成熟,但在大规模场景中准确地捕捉人体运动仍然具有挑战性。它对于体育大型赛事、舞台表演、…

WPF Prims框架详解

文章目录 前言Prism基本使用Prism选择,DryIoc还是UnityPrism基本框架搭建Prism动态更新View和ViewModel对应关系参数动态更新函数动态绑定 prism新建项目模板region使用事例测试是否限制空间 消息订阅如何使用消息订阅使用建议 路由导航对话框/弹窗功能实现代码 前言…

C#开发的OpenRA游戏之维修按钮

C#开发的OpenRA游戏之维修按钮 前面分析物品的变卖按钮,如果理解这个流程,再看其它按钮的流程,其实是一样的,所以前面的文章是关键,只有理解通透的基础之上,才能继续往下。 维修按钮的存在价值,就是当建筑物受到敌方破坏,还没有完全倒掉之前,可以使用金币来进行修理。…

Redis学习(四)Redis原理:底层数据结构、网络模型、内存回收策略

文章目录 Redis底层数据结构SDS 动态字符串IntSet 整数集合Dict 字典Dict伸缩中的渐进式再哈希 ZipList 压缩列表QuickLisk 快速列表SkipList 跳表动态索引建立 RedisObject变量类型与数据结构实现StringListSetZSetHash Redis网络模型Redis是单线程还是多线程?为什…