固定前端导出方法

 1.单独写在一个文件里的导出固定方法

/*** 下载方法* @param response*/
export const downloadFile = (response) => {const res = response.data;const type = res.type;if (type && type.includes("application/json")) {let reader = new FileReader();reader.onload = e => {if (e.target.readyState === 2) {let data = JSON.parse(e.target.result);this.$message({message: data.msg,type: "warning"});}};reader.readAsText(res);} else {let disposition = response.headers["content-disposition"];let fileName = "下载文件.zip";if (disposition) {let respcds = disposition.split(";");for (let i = 0; i < respcds.length; i++) {let header = respcds[i];if (header !== null && header !== "") {let headerValue = header.split("=");if (headerValue !== null && headerValue.length > 0) {if (headerValue[0].trim().toLowerCase() === "filename") {fileName = decodeURI(headerValue[1]);break;}}}}}//处理引号if ((fileName.startsWith("'") || fileName.startsWith('"')) && (fileName.endsWith("'") || fileName.endsWith('"'))) {fileName = fileName.substring(1, fileName.length - 1)}let blob = new Blob([res]);let link = document.createElement("a");link.href = window.URL.createObjectURL(blob);link.download = fileName;link.click();window.URL.revokeObjectURL(link.href);}
}

2.使用方法

引入

<script>
import projectApi from "@/api/project.js";//自己项目的接口文件.
import {downloadFile} from '@/utils/commons' //上文中固定导出方法
methods:{//页面上的导出按钮方法exportExcelasync exportExcel() {let params = {page:this.currentPage,size:this.page,projectNum:this.projectCode,projectName:this.projectName,} //params是参数,//TableExportToExcel是后端自己写的导出方法await projectApi.TableExportToExcel({...params}).then(response => {downloadFile(response);});},}
</script>

非常简单

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/16049.html

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

相关文章

从Facebook到Meta:公司转型背后的战略与意义

2021年&#xff0c;Facebook宣布更名为Meta&#xff0c;转型聚焦于“元宇宙”——这一虚拟世界的构建标志着公司从传统社交平台向更前沿的科技领域迈进。本文将探讨这一转型的背景、战略布局及其深远意义。 一、转型背景&#xff1a;应对市场和技术的挑战 自2004年成立以来&am…

前端在PC端实现支付思路流程

一.去支付 1.前端点击“去支付”按钮&#xff0c;请求订单详情接口&#xff0c;传递订单的id、订单号给后端和请求支付方式接口 2.后端返回支付信息和支付方式数据 二.弹出支付窗口 接收支付信息和支付方式数据后&#xff0c;前端弹出支付弹窗 三.确认支付 前端无论选择任何…

STM32 51单片机设计半导体制冷片温控设计

目录 前言 一、本设计主要实现哪些很“开门”功能&#xff1f; 二、电路设计原理图 1.电路图采用Altium Designer进行设计&#xff1a; 三、实物设计图 四、程序源代码设计 五、获取资料内容 前言 基于STM32与51单片机的半导体制冷片温控设计 前言 随着现代工业、医疗…

开源大模型技术路线及趋势

1. 三个维度 大模型研发力量 学术机构 大模型创业公司 科技大厂 旗舰开源模型的形态/模态 基础大模型 -> instruct大模型 -> 多模态&#xff08;VL大模型 -> 类gpt-4o大模型&#xff09; 时间线 23年上半年 23年下半年 24年 25年 2. 核心观察 学术机构及…

Vue学习笔记

Vue学习笔记 以下内容为黑马SpringbootVue3中的Vue3教程部分 Vue概述 什么是Vue&#xff1f; Vue 是一款用于构建用户界面的渐进式的JavaScript框架。&#xff08;官方:https://cn.vuejs.org/&#xff09; 快速入门 准备 准备html页面&#xff0c;并引入Vue模块&#xff08;官…

Java 使用MyBatis-Plus数据操作关键字冲突报错You have an error in your SQL syntax问题

问题 这个报错是出现在Java Spring boot项目中&#xff0c;使用MyBatis-Plus通过创建的实体类对数据库的操作过程中&#xff0c;通过实体创建数据库表是没有问题的&#xff0c;而在接口调用服务类操作数据库的时候&#xff0c;会出现报错。报错详情如下&#xff1a; 服务请求异…

Chrome DevTools Protocol 进阶: Page域

前言 本章开始我们将进一步学习 Chrome DevTools Protocol&#xff08;CDP&#xff09;&#xff0c;首先切入的内容是 CDP 中的域。 在 Chrome DevTools Protocol&#xff08;CDP&#xff09; 中&#xff0c;Page 域 是一个至关重要的部分&#xff0c;它负责控制浏览器页面的…

电动采光排烟大窗施工常见问题

电动采光排烟天窗施工常见问题可能涉及多个方面&#xff0c;包括施工前的准备、施工过程中的操作以及施工后的维护等。以下是对这些常见问题的归纳和分析。 一、施工前的准备问题 1、现场勘查不足&#xff0c;可能导致天窗尺寸、形状和材质不符合建筑设计要求&#xff1b; 2…

关于VUE NPM安装失败的问题

最近使用 npm install --registryhttps://registry.npmmirror.com 安装一个新项目的依赖&#xff0c;各种失败。 最后发现是package-lock里面有老的淘宝的域名&#xff0c;整体替换掉就行了

51单片机应用开发---LCD1602显示应用

实现目标 1、了解LCD1602液晶屏&#xff1b; 2、掌握驱动程序的编写&#xff1b; 3. 具体目标&#xff1a;在屏幕上显示字符。 一、LCD1206概述 1.1 定义 LCD1602(Liquid Crystal Display)液晶显示屏是一种字符型液晶显示模块,可以显示ASCII码的标准字符和其它的一些内置…

解决Clion相对路径失效的问题

Clion相对路径失效的可能原因 工作目录不对相对路径错误 解决方法 设置工作目录 点击 工作文件 将工作路径置空 (或设置正确的工作路径) 之后便可完美解决 设置全局路径 这样即可解决 希望能帮助到你

香港电讯连续蝉联香港01「大湾区企业同创大奖」

香港电讯非常荣幸地连续第四年荣获「香港01大湾区企业同创大奖」殊荣&#xff0c;以表扬我们在大湾区业务所取得的卓越成绩&#xff0c;以及我们积极促进区内跨境业务方面的贡献。 面对企业拓展业务的迫切需求&#xff0c;香港电讯提供全面的跨境数码方案&#xff0c;包括SD-WA…

Vue3.js - 一文看懂Vuex

1. 前言 Vuex 是 Vue.js 的官方状态管理库&#xff0c;用于在 Vue 应用中管理组件之间共享的状态。Vuex 适用于中大型应用&#xff0c;它将组件的共享状态集中管理&#xff0c;可以避免组件间传递 props 或事件的复杂性。 2. 核心概念 我们可以将Vuex想象为一个大型的Vue&…

PdServer:调用MidjourneyAPI完成静夜思图文生成

欢迎沟通讨论&#xff0c;WX: cdszsz。公号&#xff1a;AIGC中文站。 今天我们将使用PdServer&#xff0c;通过Qwen大模型完成古诗的解析与prompt的生成&#xff0c;然后调用MidjourneyAPI完成图片的生成。有了文案和图片&#xff0c;我们就可以将其生成为一个古诗讲读视频。从…

融合创新:CNN+LSTM在深度学习中的高效应用,助力科研发表高影响因子文章!

2024深度学习发论文&模型涨点之——CNNLSTM 结合CNN&#xff08;卷积神经网络&#xff09;和LSTM&#xff08;长短期记忆网络&#xff09;是一种常见的深度学习模型组合&#xff0c;广泛应用于各种任务&#xff0c;特别是时间序列预测和序列数据处理。 CNNLSTM是一种深度学…

20241114在飞凌的OK3588-C的核心板上跑Linux R4时通过iperf3测试以太网卡的实际网速

20241114在飞凌的OK3588-C的核心板上跑Linux R4时通过iperf3测试以太网卡的实际网速 2024/11/14 21:09 《OK3588-C_Linux5.10.66Qt5.15.2_用户使用手册_V1.2_20240321.pdf》 飞凌文档上的配置有点不一样&#xff0c;需要修正&#xff1a; 3.2.15 以太网配置 OK3588-C板载两个千…

鸿蒙开发,Arkts 如何调用接口

面向万物互联时代&#xff0c;华为提出了“一次开发多端部署、可分可合自由流转、统一生态原生智能”三大应用与服务开发理念。针对多设备、多入口、服务可分可合等特性&#xff0c;华为提供了多种能力协助开发者降低开发门槛。在此背景下&#xff0c;HarmonyOS基于JS/TS语言体…

JavaScript方法修改 input type=file 样式

html中的<input type "file">的样式很难修改&#xff0c;又跟页面风格很不匹配。我就尝试了几种方法&#xff0c;但是不管是用label还是用opacity:0都很麻烦&#xff0c;还老是出问题&#xff0c;所以最后还是用JavaScript来解决。 下面附上代码&#xff1a;…

安装仓库,ssh以及NFS

安装仓库 1、源码安装 >自定义组件 2、软件包安装&#xff1a;rpm / dpkg ↓ (.rpm) / (.deb) 3、apt / yum >仓库 apt仓库&#xff1a; 安装源 >在线 / 离线 >包含可用的deb包 ↓ 元信息>包与包之间的依赖关系 在线源&#xff1a;必须要联网&#xff0c;包…

[Docker#9] 存储卷 | Volume、Bind、Tmpfs | -v/mount | MySQL 灾难恢复 | 问题

目录 1. 什么是存储卷? 2. 生活案例 3. 为什么需要存储卷? 4. 存储卷分类 一. 管理卷 Volume 创建卷 通过 -v 或 --mount 指定 1. -v 语法 命令格式 参数说明 2. --mount 语法 命令格式 参数说明 验证 二. 绑定卷 (Bind Mount) 1. 绑定卷概述 2. 创建绑定卷…