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

前端项目下载发票pdf文件要求改文件名笔记

1、a链接(修改失败,存在跨域)

<el-table-columnalign='right'label="下载地址"width="200"><template slot-scope="{row}"><a :href="row.dataUrl" download="文件名">下载</a></template></el-table-column>

2、后端返回二进制文件前端下载

<el-table-columnalign='right'label="操作"width=""><template slot-scope="{row}"><el-button size="mini" type="primary" @click="downLoadInvoice(row)">下载</el-button></template></el-table-column>
  import download from "@/api/download";async downLoadInvoice(row){download.exportPDF('/api/charge-settlement/download-invoice', {businessCode:row.businessCode,dataUrl:row.dataUrl,name:row.downloadInvoiceName}, `${row.downloadInvoiceName}.pdf`);
}

 

    exportPDF(url, data, fileName) {axios({method: "post",baseURL: ROOT,withCredentials: true,responseType: "blob",timeout: 500000,url: url,headers: {'Access-Control-Allow-Origin': '*','Content-Type': 'application/json',token: store.getters.token ? getToken() : null,},data: data}).then(response => {const blob = new Blob([response.data], { type: "application/vnd.ms-excel" });let file_name = fileName || this.getDateTime() + ".pdf";const linkNode = document.createElement('a');//ie浏览器下载if (!!window.ActiveXObject || "ActiveXObject" in window || navigator.userAgent.indexOf("Edge") > -1) {navigator.msSaveBlob(blob, fileName);} else {linkNode.download = file_name; //a标签的download属性规定下载文件的名称linkNode.style.display = 'none';linkNode.href = URL.createObjectURL(blob); //生成一个Blob URLdocument.body.appendChild(linkNode);linkNode.click(); //模拟在按钮上的一次鼠标单击URL.revokeObjectURL(linkNode.href); // 释放URL 对象document.body.removeChild(linkNode);}}).catch(function(error) {console.log(error);});},

http://www.dtcms.com/a/294625.html

相关文章:

  • LLM指纹底层技术——模型压缩与优化
  • Windows安装git教程(图文版)
  • 批量剪辑矩阵分发系统源码搭建,支持OEM
  • 电机驱动-理论学习-FOC算法理解
  • [硬件电路-73]:模拟器件 - 什么是电路的信号振铃现象?其根本原因?如何解决?
  • 逆向入门(41)程序逆向篇-crackme
  • Rocky9.4部署Zabbix7
  • WebGIS 中常用公共插件
  • 星座占卜信息分享静态网站项目练习!
  • 【大模型文生图、文生音频实战Demo】基于Spring AI Alibaba和阿里百炼大模型实现文生图、文生视频
  • LeetCode 407:接雨水 II
  • 网络编程初识(详细易懂)
  • [强网杯 2019]高明的黑客
  • iOS加固工具有哪些?企业级团队协作视角的实战分析
  • 【浏览器插件冲突】Edge浏览器加载不出来CSDN创作者中心
  • SpringBoot07-数据层的解决方案:SQL
  • 【科研绘图系列】R语言绘制黑白填充等显著性标记条形图
  • 华为仓颉编程语言实践体验
  • 基于Springboot的中药商城管理系统/基于javaweb的中药材销售系统
  • 海外短剧系统开发:技术架构与市场机遇深度解析
  • 华为7月23日机考真题
  • 华为高频算法题:最长连续递增子序列(Longest Continuous Increasing Subsequence)
  • 【JVM】从 JVM 整体说明 JVM 运行的完整流程
  • Redis MCP 安装与配置完整指南
  • 83、设置有人DTU设备USR-M100采集传感器数据,然后上传阿里云服务
  • 卷积神经网络:模型评估标准
  • Qt容器类:QList、QMap等的高效使用
  • 2025年7月份实时最新获取地图边界数据方法,省市区县街道多级联动【文末附实时geoJson数据下载】
  • 闲庭信步使用图像验证平台加速FPGA的开发:第三十一课——车牌识别的FPGA实现(3)车牌字符分割预处理
  • 从零开始学习Dify-Excel数据可视化(四)