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

news2024/10/7 4:28:23

问题

最近开发中遇到的问题,文件名中含有点和逗号字符,当使用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.coloradmin.cn/o/1183932.html

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

相关文章

注册虾皮买家号需要哪些资料?

注册虾皮买家号其实是很简单的,使用相应国家的手机号及对应的环境就可以注册了的,如果想要账号更方便使用,也可以绑定邮箱进行认证。 而如果想要使用shopee买家通系统进行自动化的注册,那么对于资料就有一定的要求了。 1、手机号…

vue上传宝塔退出页面404

当我们将vue上传到服务器上点击退出时出现页面404时。 如何解决: 1.如果是element plus框架时: 找到layouts文件里面的components文件下Avatar中的index.vue. 2.添加重新加载:location.reload(); 如果是其他的框架同上 。

Spring Boot中使用Spring Data JPA访问MySQL

Spring Data JPA是Spring框架提供的用于简化JPA(Java Persistence API)开发的数据访问层框架。它通过提供一组便捷的API和工具,简化了对JPA数据访问的操作,同时也提供了一些额外的功能,比如动态查询、分页、排序等。 …

C#,数值计算——偏微分方程,谱方法的微分矩阵的计算方法与源程序

1 文本格式 using System; namespace Legalsoft.Truffer { /// <summary> /// 谱方法的微分矩阵 /// Differentiation matrix for spectral methods /// </summary> public class Weights { public Weights() { …

单调栈及其应用

1. 单调栈 应用场景&#xff1a;求解下一个更大/小的数原理&#xff1a;空间换时间&#xff0c;暴力解法O&#xff08;n&#xff09;单调栈作用&#xff1a;记录遍历过的元素&#xff0c;与当前元素进行对比 模板:求解左边比它更小的元素 单调递增的栈&#xff08;底——》顶…

Python的asyncio库:掌握异步编程的利器

目录 一、引言 二、异步编程概述 三、asyncio库的使用方法 1、导入asyncio库 2、创建异步函数 3、创建事件循环 4、运行异步任务 5、关闭事件循环 四、asyncio库的高级用法 1、异步上下文管理器 2、协程函数和协程变量的共享状态 五、注意事项 六、总结 一、引言 …

数字孪生技术助力水务行业实现智能化

在当今数字化时代&#xff0c;水务行业也积极迎接变革&#xff0c;数字孪生技术正成为该行业的一项重要助力。数字孪生不仅帮助水务行业实现智能化发展&#xff0c;还提供了许多重要的优势&#xff0c;为水资源管理、供水系统运营和环境保护等方面带来了巨大的改变。水务行业面…

阿里云服务器云盘性能IOPS和吞吐量说明SSD、ESSD和高效

阿里云服务器系统盘或数据盘支持多种云盘类型&#xff0c;如高效云盘、ESSD Entry云盘、SSD云盘、ESSD云盘、ESSD PL-X云盘及ESSD AutoPL云盘等&#xff0c;阿里云百科aliyunbaike.com详细介绍不同云盘说明及单盘容量、最大/最小IOPS、最大/最小吞吐量、单路随机写平均时延等性…

PHP分类信息网站源码系统 电脑+手机+微信端三合一 带完整前后端部署教程

大家好啊&#xff01;今天源码小编来给大家分享一款PHP分类信息网站类源码系统。这款源码系统是一套专业的信息发布类网站综合管理系统&#xff0c;适合各类地方信息和行业分类站点建站。随着这几年我们国家网民爆炸式的增 长&#xff0c;网络信息也随之越来越庞大&#xff0c;…

全国5米高程DEM数据及衍生的全国地形起伏度数据

地表起伏度&#xff0c;也有称为地势起伏度、地形起伏度&#xff0c;是指某点在其确定面积的域内的最高点与最低点之间的高差。地表起伏度概念的核心在于如何确定该点的计算域。在统计意义上&#xff0c;随着计算域范围的增大&#xff0c;地表起伏度将逐渐增大。 因此&#xff…

【Python自学笔记】Flask调教方法Internel Server Error

收到老师的小组作业任务说是写一个自动报告程序&#xff0c;用PythonSQLiteHTML实现&#xff0c;好吧。 前面没什么问题&#xff0c;打开VSCode&#xff0c;连数据库读数据处理可视化模板拼凑&#xff0c;最后调用Flask框架出网页报告的时候总报错连接不了。 但换了jinjia2的渲…

水利部加快推进小型水库除险加固,大坝安全监测是重点

国务院常务会议明确到2025年前&#xff0c;完成新出现病险水库的除险加固&#xff0c;配套完善重点小型水库雨水情和安全监测设施&#xff0c;实现水库安全鉴定和除险加固常态化。 为加快推进小型水库除险加固前期工作&#xff0c;水利部协调财政部提前下达了2023年度中央补助…

事业单位如何完成新闻宣传发稿考核任务

新闻宣传作为事业单位对外展示形象、传达政策、沟通信息的重要手段&#xff0c;其效果直接关系到单位的声誉和形象。许多事业单位会设立新闻宣传考核任务&#xff0c;同样作为单位宣传口的公务人员面临考核&#xff0c;也关系到机关事业单位的年度绩效和排名。 首先需要确保清楚…

【亚马逊云科技产品测评】活动征文|10分钟拥有一台AWS Linux系统

前言 在数字化时代&#xff0c;AWS云服务扮演着至关重要的角色。AWS&#xff08;Amazon Web Services&#xff09;是亚马逊公司旗下的云计算服务平台&#xff0c;为全球各地的企业、组织和个人开发者提供了一系列广泛而深入的云服务。 在AWS云服务中&#xff0c;计算、存储、数…

idea 模板参数注释 {@link}

1. 新增组 2. 设置方法注释及变量 增加模板文本 ** * $param$ * return {link $return$} */3. 设置变量表达式 勾选跳过param 参数表达式 groovyScript("def result ;def params \"${_1}\".replaceAll([\\\\[|\\\\]|\\\\s], ).split(,).toList();def param…

迅睿cms前台页面的会员登入和退出

迅睿cms前台页面的会员登入和退出 前端代码&#xff1a; {if $member} 登录用户名&#xff1a;{$member.username} {else} 没有登录 <a href"{dr_member_url(register/index)}" class"btn dark btn-outline btn-xs">用户注册</a> <…

JavaScript使用数组

数组(Array)是有序数据集合&#xff0c;具有复合型结构&#xff0c;属于引用型数据。数组的结构具有弹性&#xff0c;能够自动伸缩。数组长度可读可写&#xff0c;能够动态控制数组的结构。数组中每个值称为元素&#xff0c;通过下标可以索引元素的值&#xff0c;对元素的类型没…

腾讯、巨量等头部营销平台方法论

媒体、营销与市场生态正处于新一轮变革期&#xff0c;尤其是进入移动互联网时代后&#xff0c;行业话语权由创意人转向互联网人&#xff0c;营销的风向与规则&#xff0c;也越来越由掌握流量与资源的头部平台引领。 巨变之下&#xff0c;企业只有从本质层面&#xff0c;认清变…

文件传输|如何将100多G文件跨国安全传输到客户手里呢?

信息时代的高速发展&#xff0c;特别是跨国交易企业&#xff0c;很需要频繁地在跨国或跨地区间传递各类文件&#xff0c;如照片、视频、音频、文档、压缩包等。比如企业用户需要与海外的合作伙伴、供应商、客户传递合同文本、产品设计、市场分析等。然而&#xff0c;跨国文件传…

javaSSMMYSQL中学成绩管理系统98575- 计算机毕业设计项目选题推荐(附源码)

目 录 摘要 1 绪论 1.1背景及意义 1.2开发现状 1.3系统开发技术的特色 1.4论文结构与章节安排 2 中学成绩管理系统分析 2.1 可行性分析 2.2 系统业务流程分析 2.3 系统功能分析 2.3.1 功能性分析 2.3.2 非功能性分析 2.4 系统用例分析 2.5本章小结 3 中学成绩管…