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.mzph.cn/news/2434.shtml

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

相关文章

Chat GPT是什么,初学者怎么使用Chat GPT,需要注意些什么

目录 Chat GPT是什么 初学者怎么使用Chat GPT 使用Chat GPT需要注意什么 一些简单的prompt示例 Chat GPT是什么 Chat GPT是由OpenAI开发的一种大型语言模型,它基于GPT(Generative Pre-trained Transformer)架构。GPT是一种基于深度学习的…

应对突发流量,如何快速为自建 K8s 添加云上弹性能力

作者:庄宇 以 Kubernetes 为代表的容器技术带来的是一种应用交付模式的变革,其正迅速成为全世界数据中心的统一 API。 为了保证业务持续稳定、用户访问不中断,高可用、高弹性等能力是应用架构设计不变的追求,多集群架构天然具备…

AJAX基础教程

1、引言 就是异步刷新,AJAX要和XMLHttpRequest对象、JavaScript/DOM、CSS、XML一起使用 2、XMLHttpRequest对象 XMLHttpRequest对象,异步的与服务器交换数据,这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新…

【无标题】

Linux下不能连接ppa.launchpad.net的问题(中科大软件源) 警告:操作前请先做好备份。 1. 替换ppa源成中科大源 每个ppa都会在/etc/apt/sources.list.d/目录下创建一个list文件,修改: vi /etc/apt/sources.list.d/ubuntu-toolch…

JAVA找BUG之OOM

大家好哇,我是梦辛工作室的灵,在最近的工作中,又遇到了一个bug,系统运行一段时间后就会频繁OOM,然后直接假死或退出,一度折磨着我,后面不停的翻日志查GC,最后才终于确认位置&#xf…

UNI-APP开发中遇到的坑

UNI-APP开发中遇到的坑 一、页面无法回退二、列表页面下拉刷新不显示数据 一、页面无法回退 在页面中我们一般会在顶部左侧放置一个返回按钮&#xff0c;用户点击返回按钮则关闭当前页面&#xff0c;返回上一层页面。 <uni-nav-bar left-icon"back" title"添…

Python爬虫——urllib_ajax请求的post请求

爬取肯德基官网的门店位置信息&#xff08;现在已经进不去了&#xff0c;所以现在返回的全是-1000&#xff09;&#xff1a; import urllib.request import urllib.parsedef create_request(page):base_url http://www.kfc.com.cn/kfccda/ashx/GetStoreList.ashx?opcnamehea…

使用 uiautomator2+pytest+allure 进行 Android 的 UI 自动化测试

目录 前言&#xff1a; 介绍 pytest uiautomator2 allure 环境搭建 pytest uiautomator2 allure pytest 插件 实例 初始化 driver fixture 机制 数据共享 测试类 参数化 指定顺序 运行指定级别 重试 hook 函数 断言 运行 运行某个文件夹下的用例 运行某…

【软件测试面试】腾讯数据平台笔试题-接口-自动化-数据库

数据库题 答案&#xff1a; Python编程题 答案&#xff1a; 接口参数化题 答案&#xff1a; 接口自动化题 答案&#xff1a; 以下是我收集到的比较好的学习教程资源&#xff0c;虽然不是什么很值钱的东西&#xff0c;如果你刚好需要&#xff0c;可以评论区&#…

高斯误差线性单元激活ReLU以外的神经网络

高斯误差线性单位&#xff08;GELU&#xff09;激活函数由加州大学伯克利分校的Dan Hendrycks和芝加哥丰田技术研究所的Kevin Gimpel于2018年引入。激活函数是触发神经元输出的“开关”&#xff0c;随着网络的深入&#xff0c;其重要性也随之增加。最近几周&#xff0c;机器学习…

create database创建数据库失败

瀚高数据库 目录 环境 症状 问题原因 解决方案 环境 系统平台&#xff1a;Linux x86-64 Red Hat Enterprise Linux 7 版本&#xff1a;4.5.7 症状 1、执行如下sql语句创建数据库报错。 create database printcdburn with encodingUTF8 OWNERprintcdburn LC_COLLATEzh_CN.UTF-…

github 最简单的使用步骤(个人学习记录~)

github 使用步骤&#xff1a; (11条消息) github新手用法详解&#xff08;建议收藏&#xff01;&#xff01;&#xff01;&#xff09;_github详解_怪 咖的博客-CSDN博客 1.获取ssh密钥 打开输入&#xff1a;ssh-keygen -t rsa -C “git账号” 输入之后一路Enter&#xff08…

谈谈VPN是什么、类型、使用场景、工作原理

作者&#xff1a;Insist-- 个人主页&#xff1a;insist--个人主页 作者会持续更新网络知识和python基础知识&#xff0c;期待你的关注 前言 本文将讲解VPN是什么、以及它的类型、使用场景、工作原理。 目录 一、VPN是什么&#xff1f; 二、VPN的类型 1、站点对站点VPN 2、…

单例模式(java)

目录 概述 结构 代码实现 饿汉式&#xff08;静态变量&#xff09; 饿汉式&#xff08;静态代码块&#xff09; 懒汉式&#xff08;双重检查方式&#xff09; 概述 单例模式&#xff08;Singleton Pattern&#xff09;是 Java 中最简单的设计模式之一。这种类型的设计模式…

labview 弹窗(子vi)

如果你遇到了需要在主vi运行时需要弹窗某个窗口(或者称为子vi,子画面)&#xff0c;而且要主画面和子画面能独立运行各自的循环程序&#xff0c;本文能给你帮助。 本文的精髓在于: wait until Donefalse,表示子VI运行的同时&#xff0c;主vi也继续运行后面的代码&#xff0c;主…

win10下解决git报错 Permission denied(publickey)

今天在csdn的GitCode新建了一个项目&#xff0c;然后在windows下git clone时出现错误 gitgitcode.net: Permission denied (publickey). fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists. 完整…

Apache Doris (三十一):Doris 数据导入(九)Spark Load 4- 导入Hive数据及注意事项

目录 1. Spark Load导入Hive非分区表数据 2. Spark Load 导入Hive分区表数据 3. 注意事项 进入正文之前&#xff0c;欢迎订阅专题、对博文点赞、评论、收藏&#xff0c;关注IT贫道&#xff0c;获取高质量博客内容&#xff01; 宝子们订阅、点赞、收藏不迷路&#xff01;抓紧…

拼多多API接口,百亿补贴商品详情页面采集

电商API的数据类型 电商API提供的数据种类多样&#xff0c;一般可分为以下几类&#xff1a; 1.商品数据&#xff1a;商品ID、商品名称、商品价格、库存等。 2.交易数据&#xff1a;订单号、付款时间、收货人等。 3.店铺数据&#xff1a;店铺ID、店铺名称、开店时间、店铺评…

责任链模式

责任链模式 本文链接&#xff1a;https://blog.csdn.net/feather_wch/article/details/131760462 1、是一种行为型设计模式 2、主要角色 抽象处理者具体处理者 3、允许将请求沿着一系列处理者进行传递&#xff0c;直到有一个处理者可以处理该请求 解耦请求 发送者 和 处理…

如何fork GitHub上的官方仓库

在GitHub中&#xff0c;fork表示复制一个仓库到你自己的GitHub账号下&#xff0c;创建一个独立的副本。通过fork操作&#xff0c;你可以在自己的副本中进行修改、改进和实验&#xff0c;而不会影响到原始仓库或其他人的工作。 当你fork一个仓库时&#xff0c;GitHub将会为你创…