【导出】前端 js 导出下载文件时,文件名前后带下划线问题

目录

导出/下载文件操作

问题

导出文件

原因

后端接口返回的文件名解析出来带有引号,导致 a 标签中 download 属性值有双引号,从而导致文件名前后带有下划线

解决

在使用 a 标签下载文件时,将文件名中的引号去掉

js 复制代码
/**
 * 将二进制的数据导出为 excel
 * @param {string} data 数据
 * @param contentType
 * @param {string} fileName 文件名称
 */
export function exportResponseData(data, contentType, fileName) {
  const downloadLink = window.document.createElement('a')
  downloadLink.href = window.URL.createObjectURL(new Blob([data], { type: contentType }))
  // downloadLink.download = fileName
  downloadLink.download = fileName.replace(/'"|"/g, '') // 【主要代码】去掉文件名中的引号
  document.body.appendChild(downloadLink)
  downloadLink.click()
  document.body.removeChild(downloadLink)
}

解决后下载文件

文件名正常

相关推荐
FQNmxDG4S7 小时前
Java多线程编程:Thread与Runnable的并发控制
java·开发语言
ZC跨境爬虫7 小时前
跟着 MDN 学 HTML day_9:(信件语义标记)
前端·css·笔记·ui·html
前端老石人7 小时前
HTML 字符引用完全指南
开发语言·前端·html
matlab_xiaowang7 小时前
Redux 入门:JavaScript 可预测状态管理库
开发语言·javascript·其他·ecmascript
幼儿园技术家7 小时前
前端如何设计权限系统(RBAC / ABAC)?
前端
虹科网络安全7 小时前
艾体宝干货|数据复制详解:类型、原理与适用场景
java·开发语言·数据库
axng pmje8 小时前
Java语法进阶
java·开发语言·jvm
老前端的功夫8 小时前
【Java从入门到入土】28:Stream API:告别for循环的新时代
java·开发语言·python
qq_435287928 小时前
第9章 夸父逐日与后羿射日:死循环与进程终止?十个太阳同时值班的并行冲突
java·开发语言·git·死循环·进程终止·并行冲突·夸父逐日
止语Lab8 小时前
从手动到框架:Go DI 演进的三个拐点
开发语言·后端·golang