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

vue3文件下载功能

定义方法:

utils.js

/**** @param url 目标下载接口* @param query 查询参数* @param fileName 文件名称* @returns {*}*/
export function downBlobFile(url: any, query: any, fileName: string) {return request({//url: url,method: 'get',responseType: 'blob',params: query,}).then((response) => {handleBlobFile(response, fileName);});
}/*** blob 文件刘处理* @param response 响应结果* @returns*/
export function handleBlobFile(response: any, fileName: string) {// 处理返回的文件流const blob = response;if (blob && blob.size === 0) {ElMessage.error('内容为空,无法下载');return;}const link = document.createElement('a');// 兼容一下 入参不是 File Blob 类型情况var binaryData = [] as any;binaryData.push(response);link.href = window.URL.createObjectURL(new Blob(binaryData));link.download = fileName;document.body.appendChild(link);link.click();window.setTimeout(function () {// @ts-ignoreURL.revokeObjectURL(blob);document.body.removeChild(link);}, 0);
}

使用

test.vue

  // 参数1:导出接口,参数2:参数,参数3:文件名downBlobFile('/xxx/xxx/xxx', {id}, `附件.${type}`);

http://www.lryc.cn/news/135166.html

相关文章:

  • Python调用文心一言的API
  • 【计算机网络八股】计算机网络(一)
  • 记录一次arcgis engine开发版本引入问题
  • 2023年Java毕业设计怎样选题,有哪些注意事项,300道Java毕业设计题目
  • 算法-滑动窗口-串联所有单词的子串
  • 2023年7月京东美妆护肤品小样行业数据分析(京东数据挖掘)
  • 记录Taro巨坑,找不到sass类型定义文件
  • CS1988|C#无法在异步方法中使用ref,in,out类型的参数的问题
  • ubuntu开机失败——ACPI Error
  • 搭建开发环境-操作系统篇(一键搭建开发环境)
  • 人工智能AI绘画接入使用文档
  • 如何使用PyQt进行文件操作
  • 阿里云CDN加速器基本概念与购买开通
  • 2023河南萌新联赛第(六)场:河南理工大学-F 爱睡大觉的小C
  • [C++ 网络协议编程] 域名及网络地址
  • Java【HTTP】什么是 Cookie 和 Session? 如何理解这两种机制的区别和作用?
  • 使用U盘重装Windows10系统详细步骤及配图【官方纯净版】
  • 数据结构之——(手撕)顺序表
  • 冠达管理:非银金融是什么?
  • go 结构体
  • C++学习笔记---- 引用
  • 2023国赛数学建模思路 - 案例:感知机原理剖析及实现
  • Cesium加载Supermap的wmts服务
  • C/C++:C/C++在大数据时代的应用,以及C/C++程序员未来的发展路线
  • linux RabbitMQ-3.8.5 安装
  • 单链表Single-LinkList
  • AI嵌入式全景:各厂商、系列和开发工具的综合概览
  • mysql Left Join on条件 where条件的用法区别
  • Redis中的淘汰策略
  • MyBatis进阶:掌握MyBatis动态SQL与模糊查询、结果映射,让你在面试中脱颖而出!!