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

<a>标签的download属性部分浏览器无法自动识别文件后缀

问题

最近开发中遇到的问题,文件名中含有点和逗号字符,当使用a标签的download属性下载内容时,如果不指定后缀,部分浏览器无法自动识别文件后缀。如下图所示:

定义用法

download 属性定义了下载链接的地址。

href 属性必须在 标签中指定。

属性同样可以指定下载文件的名称。

文件名称没有限定值,浏览器会自动在文件名称末尾添加该下载文件的后缀 (.img, .pdf, .txt, .html, 等),添加后缀将使用指定后缀,不会重复出现。

案例:


function downloadData(){// 使用a的download属性下载文件let filename = '文件名称';let data = '数据';let blob = new Blob([data],{type:'application/vnd.ms-excel'})let a = document.createElement('a');//创建a元素a.href = URL.createObjectURL(blob);a.download = filename;a.click();//触发a的点击事件//URL.revokeObjectUrl(a.href)a = null;
}

解决方案

注意当使用download属性实现下载时要添加后缀!!!

  downloadRenewal(data) {const id = data.renewal_id;this.http.post(this.commonApiService.apiList.apis.license_in.renewalCertificateDownload, { id }).subscribe((res) => {if (res.code !== 0) {this.msg.error(res.msg)return} else {fetch(res.row.download_url).then(res => res.blob().then(blob => {const a = document.createElement('a'),url = window.URL.createObjectURL(blob),// 强行指定文件后缀filename = `${data.renewal_order_name}-${data.order_no}.pdf`;a.href = url;a.download = filename;console.log(a)a.click();window.URL.revokeObjectURL(url);}));}})}

兼容性(浏览器支持

问题完美解决,YYDS! 欢迎在评论区交流。

如果文章对你有所帮助,❤️关注+点赞❤️鼓励一下!博主会持续更新。。。。

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

相关文章:

  • 前端图片压缩上传,减少等待时间!优化用户体检
  • Ionic header content footer toolbar UI实例
  • uniapp 解决H5跨域的问题
  • 对称加密(symmetric encryption)和非对称加密(Asymmetric Encryption)(密钥、公钥加密、私钥解密)AES、RSA
  • iOS 16.4 之后真机与模拟器无法使用Safari调试H5页面问题
  • 野火霸天虎 STM32F407 学习笔记_3 尝试寄存器映射方式点亮 LED 灯
  • ZZ308 物联网应用与服务赛题第F套
  • 怎样选择文件外发控制系统,让数据实现高效安全交换?
  • 专访 SPACE ID:通往 Web3 无许可域名服务协议之路
  • 合并分支--将自己的分支合并到master分支
  • 力扣:153. 寻找旋转排序数组中的最小值(Python3)
  • matlab中实现画函数图像添加坐标轴
  • C语言求解一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?
  • AtCoder abc148
  • k8s、docker 卸载
  • 【Linux】Shell命令行的简易实现(C语言实现)内键命令,普通命令
  • Kafka -- 架构、分区、副本
  • CSS特效001:鼠标放div上,实现旋转、放大、移动等效果
  • gin 快速入门手册
  • Window下安装 Mongodb,并实现单点事务
  • 【通信原理】第三章 随机过程——例题
  • 线性【SVM】数学原理和算法实现
  • R语言中的函数26:polyroot多项式求根函数
  • 2023年辽宁省数学建模竞赛A题铁路车站的安全标线
  • 半导体工厂将应用哪些制造创新技术?
  • [unity]深色模式/浅色模式
  • 在react中组件间过渡动画如何实现?
  • 解析找不到msvcr100.dll文件的解决方法,4个方法修复msvcr100.dll
  • 达梦主备部署
  • 后期混音效果全套插件Waves 14 Complete mac中文版新增功能