首页 > 其他分享 >前端实现文件下载(a标签文件下载)

前端实现文件下载(a标签文件下载)

时间:2024-05-06 10:24:58浏览次数:17  
标签:body 文件 文件名 标签 window link document 下载

一、链接地址下载

const link = document.createElement('a');
const url = `url下载链接地址`
link.href = url;
link.setAttribute('download', '文件名'); //window下载窗口名称自定义
document.body.appendChild(link);
link.click();
document.body.removeChild(link);

 

二、后台接口返回文件信息

await api.downloadFile(item).then(res => { //接口请求
    const link = document.createElement('a');
    //window.URL.createObjectURL() 方法用于创建一个表示指定对象的 URL,需要传入一个 Blob 对象或者 File 对象作为参数
    link.href = window.URL.createObjectURL(new Blob([res]));//将内容转为blob格式
    link.setAttribute('download', '文件名');
    document.body.appendChild(link);
    link.click();
    document.body.removeChild(link);
})

 

三、跨域问题,setAttribute设置文件名不生效

如果在setAttribute时发现a标签中download属性发生改变,但是window文件窗口的名称未改变,那么可能是因为服务端返回的响应头中设置了文件名。这时候,浏览器会优先使用服务端返回的文件名作为下载文件的名称,而忽略前端设置的下载属性

//解决方案
//在服务端返回的响应头中设置一个特殊的 Content-Disposition 字段,强制浏览器使用前端设置的下载属性
Content-Disposition: attachment; filename='文件名'  

 

摘自:https://blog.csdn.net/jyl919221lc/article/details/135126552

 

标签:body,文件,文件名,标签,window,link,document,下载
From: https://www.cnblogs.com/hjbky/p/18174384

相关文章

  • 如何通过文件外发系统 有效防止图纸等文档泄密?
    文件外发系统是企业数据安全管理中的关键组成部分,主要用于处理企业内部文件向外部传输的流程。 以下是文件外发系统的几个主要用途:1、防止数据泄露:通过严格的审批流程和安全策略,防止未经授权的文件外发,降低数据泄露风险。2、提高数据传输安全性:文件外发系统通常具备加密传输......
  • 多区域协作时 如何实现便捷可控的文件跨域传输?
    文件跨域传输的场景在现代企业运营中非常普遍,特别是在那些具有分布式结构或需要跨地域合作的组织中。 以下是一些典型的多区域文件传输场景:1、企业内部跨地域传输:大型企业或跨国公司在不同地区设有分支机构,需要在这些分支机构之间传输业务数据和公司文件。2、供应链管理:在供......
  • 如何快速找出文件夹里的全部带有中文&纯中文的文件
    首先,需要用到的这个工具YTool:度娘网盘提取码:qwu2蓝奏云提取码:2r1z步骤1、打开工具,切换到批量复制文件2、鼠标移到右侧,点击搜索添加3、设定查找范围、指定为文件、勾选包含全部子文件夹,点击“详细过滤条件-文件”4、设定过滤的情况勾选“按命名”、范围为:“仅文件名......
  • MuMu模拟器12如何将电脑的文件/图片导入到模拟器根目录
    前言全局说明官方说明:https://mumu.163.com/help/20230427/35047_1085406.html一、说明二、部分用户在使用MuMu模拟器12时,可能会需要将电脑的图片或文件一类的,从电脑内导入到模拟器根目录中,但是不知道具体该如何操作,遇到这类情况的用户,可以参考以下步骤操作。第一步......
  • 无规律快速批量重命名文件(夹)-固定命名
    首先,需要用到的这个工具:度娘网盘提取码:qwu2蓝奏云提取码:2r1z 这里有1万多个文件,要命名成无规律的、不同的文件名 目标文件名里面的是上面已经修正数据的目标 一句话思路:提取全部目标名称,放到要改动的地方去打开工具,切换到“文件批量复制” 借助这个版块,提取......
  • SSM教务管理系统设计与实现(附源码下载地址)
    @目录01项目背景02使用技术03运行环境04功能分析05数据库设计06项目工程结构07部分功能展示及源码7.1登录页7.2管理员端--首页7.3管理员端--课程管理7.4管理员端--学生管理7.5教师端--首页7.6教师端--个人信息7.7学生端--已修课程7.8学生端--公告管理08运行教程09......
  • Cleanmgr,也称为磁盘清理器(Disk Cleanup),是Windows操作系统中的实用工具,用于删除计算机
    cleanmgr|MicrosoftLearnCleanmgr,也称为磁盘清理器(DiskCleanup),是Windows操作系统中的实用工具,用于删除计算机上不需要的临时文件、回收站文件、下载文件以及其他可以安全删除的文件,以释放磁盘空间。功能特点:释放磁盘空间:Cleanmgr可以帮助用户识别并删除不再需要的......
  • Linux 使用 inotify 监控文件或目录变化
    转载:https://www.cnblogs.com/PikapBai/p/14480881.html作者:PikapBai 1运行环境#操作系统:Ubuntu182inotify简介#inotify是一个Linux内核特性(监视文件系统事件),它用于监控文件系统,比如删除、读、写操作等,当发生对应事件时,则会触发inotify。当监控目录时,与该目录......
  • 在Linux中,如何恢复备份的文件?
    在Linux中恢复备份的文件通常取决于你使用的备份工具和备份的类型。以下是一些常见的备份工具和它们恢复文件的基本步骤:tar使用tar命令创建的备份通常是一个压缩的文件,可以使用以下命令来恢复:tar-xvfbackup.tar如果备份文件是使用gzip压缩的,可以使用:tar-zxvfbacku......
  • 在Linux中,如何创建文件系统的备份?
    在Linux中创建文件系统备份的方法有很多,这里介绍几种常见的方法:1.使用tar命令tar(tapearchive)是一个常用的归档工具,可以用来创建文件和目录的备份。创建备份:sudotar-czvf/path/to/backup.tar.gz/path/to/directoryc代表创建归档。z代表用gzip压缩归档。v代表在......