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

js-利用创建a便签实现下载文件功能

背景:

工作中经常会有点击按钮,下载或者导出文件的功能,用到的地方较多,把这个下载方法封装起来,方便调用。

封装代码:

export default function downloadBlob(data, fileName="file") {let blob = new Blob([data]);if(navigator.userAgent.indexOf("Edge") > -1) {window.navigator.msSaveOrOpenBlob(blob, fileName);}let url = window.URL.createObjectURL(blob);// 生成一个a标签let link = document.createElement("a");link.style.display = "none";link.href = url;// 生成时间戳link.download = decodeURI(fileName);document.body.appendChild(link);link.click();document.body.removeChild(link); // 下载完成移除元素window.URL.revokeObjectURL(url); // 释放掉blob对象
}

调用:

 handleExport(row) {this.loading = truethis.$axios.post('/xxx/export', {id: row.id}, //视情况传参{responseType: "blob",}).then(response => {this.loading = falseif(response.data) {let fileName = `${row.nick}_${row.reportName}_`+ dayjs().format('YYYY-MM-DD HH:mm') + '.xlsx';//调用downloadBlob(response.data, fileName)}})
}

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • AUTOSAR_EXP_ARAComAPI的5章笔记(9)
  • C语言数组学习
  • 语言的条件语句
  • 住宅HTTP代理:提升网络隐私与安全的新选择
  • 角色权限管理实现学习
  • 【Android 13源码分析】WindowContainer窗口层级-1-初识窗口层级树
  • 尚品汇-H5移动端整合系统(五十五)
  • How can I stream a response from LangChain‘s OpenAI using Flask API?
  • 面试经典150题——删除有序数组中的重复项
  • 某花顺爬虫逆向分析
  • 基于主从Reactor模型实现高并发服务器
  • 【后端】【nginx】nginx常用命令
  • 高校心理辅导系统:Spring Boot技术实现指南
  • 三十种编程语言庆祝【国庆节】!!!
  • flask的学习记录
  • 【391天】每日项目总结系列128(2018.03.03)
  • 3.7、@ResponseBody 和 @RestController
  • android 一些 utils
  • linux安装openssl、swoole等扩展的具体步骤
  • Next.js之基础概念(二)
  • Objective-C 中关联引用的概念
  • Protobuf3语言指南
  • rabbitmq延迟消息示例
  • Theano - 导数
  • 大数据与云计算学习:数据分析(二)
  • 回顾2016
  • 两列自适应布局方案整理
  • 浏览器缓存机制分析
  • 码农张的Bug人生 - 见面之礼
  • 一、python与pycharm的安装
  • 在 Chrome DevTools 中调试 JavaScript 入门
  • JavaScript 新语法详解:Class 的私有属性与私有方法 ...
  • MPAndroidChart 教程:Y轴 YAxis
  • 分布式关系型数据库服务 DRDS 支持显示的 Prepare 及逻辑库锁功能等多项能力 ...
  • 我们雇佣了一只大猴子...
  • ​MPV,汽车产品里一个特殊品类的进化过程
  • !$boo在php中什么意思,php前戏
  • # 移动硬盘误操作制作为启动盘数据恢复问题
  • #define、const、typedef的差别
  • #LLM入门|Prompt#2.3_对查询任务进行分类|意图分析_Classification
  • (173)FPGA约束:单周期时序分析或默认时序分析
  • (2020)Java后端开发----(面试题和笔试题)
  • (delphi11最新学习资料) Object Pascal 学习笔记---第8章第2节(共同的基类)
  • (Git) gitignore基础使用
  • (zt)基于Facebook和Flash平台的应用架构解析
  • (二)fiber的基本认识
  • (三分钟)速览传统边缘检测算子
  • (深度全面解析)ChatGPT的重大更新给创业者带来了哪些红利机会
  • (转)母版页和相对路径
  • ***通过什么方式***网吧
  • ..thread“main“ com.fasterxml.jackson.databind.JsonMappingException: Jackson version is too old 2.3.1
  • .bat批处理(八):各种形式的变量%0、%i、%%i、var、%var%、!var!的含义和区别
  • .NET CF命令行调试器MDbg入门(四) Attaching to Processes
  • .NET CLR Hosting 简介
  • .Net Core缓存组件(MemoryCache)源码解析