vue element 导出blob后台文件流xlsx文件自动下载(且规避乱码)
通常情况blob后台文件流都是如下图这样让人崩溃的乱码
<el-buttontype="success"@click.stop="handleExport"icon="el-icon-download"
>导出</el-button>
// 导出----------------------------------------
handleExport() {this.loading = true;const data = {// 导出----------------------------------------/*file_name:"推广记录(" +new Date().toLocaleString("zh-Hans-CN", {year: "numeric",month: "2-digit",day: "2-digit",hour12: false,hour: "2-digit",minute: "2-digit",second: "2-digit",}).replace(/\//g, "-") +").xlsx",*/// ----------------------------------------gid: this.searchForm.gid,gname: this.searchForm.gname,type: this.searchForm.type,status: this.searchForm.status,num: this.searchForm.num,hy: this.searchForm.hy,remark: this.searchForm.remark,};this.$axios.post("https://xxx.com/getlist?export_flag=1",data,{ responseType: "blob" }).then((d) => {if (!d.data) return (this.loading = false,this.$message.error(d.msg)); //导出失败报错!// 自动下载blob文件流xls文件----------------------------------------const blob = new Blob([d.data], {type: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8",});//防止下载的文件乱码const url = window.URL.createObjectURL(blob);const link = document.createElement("a");link.style.display = "none";link.href = url;link.setAttribute("download",`导出文件(${new Date().toLocaleString("zh-Hans-CN", {year: "numeric",month: "2-digit",day: "2-digit",hour12: false,hour: "2-digit",minute: "2-digit",second: "2-digit",}).replace(/\//g, "-").replace(/\:/g, "")}).xlsx`//后缀名一定要用xlsx,否则会乱码); //设置下载文件名document.body.appendChild(link);link.click();document.body.removeChild(link); // 下载完成移除元素window.URL.revokeObjectURL(url); // 释放掉blob对象//----------------------------------------this.$message.success("导出xlsx成功");this.loading = false;});
},
// ----------------------------------------
vue element 导出blob后台文件流xlsx文件自动下载(且规避乱码)相关推荐
- axios get请求下载后端文件流xlsx文件
const res = await axios({method: 'get',url: `/exportData`,params: {id: this.id,},responseType: 'blob ...
- ant 接口返回文件流,前端自动下载实现
封装网络请求 : reqAxios.js import Axios from 'axios'; import qs from 'qs'; import { router } from 'umi'; i ...
- php接收流文件,PHP传输文件流及文件流的保存
什么是文件流 在HTTP数据传送过程中,传输一方直接以二进制流方式传送文件内容,这样就形成了一个文件流: 文件流的接收通常涉及到预定义变量函数 $HTTP_RAW_POST_DATA 和 file_g ...
- Java IO流之【缓冲流和文件流复制文件对比】
与文件流相比,缓冲流复制文件更快 代码: package Homework;import java.io.BufferedOutputStream; import java.io.File; impo ...
- c# 文件流读写文件
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.I ...
- 用户态与内核态 文件流与文件描述符 简介【转】
转自:https://www.cnblogs.com/Jimmy1988/p/7479856.html 用户态和内核态 程序代码的依赖和调用关系如下图所示: Lib:标准ASCI C函数,几乎所有的平 ...
- python csv文件和xlsx文件混杂时,提取指定列数据并合并
这篇文章是R语言 如何合并csv文件(批量读取csv文件)的姊妹篇.提供更为强大的功能. 解决的问题是提取csv文件和xlsx文件混杂时,文件合并问题.具体来说,下面的代码是提取指定列文本,简单清洗后 ...
- Java File文件流读取文件夹内的文件并替换文件内容
Java File文件流读取文件夹内的文件并替换文件内容 一.前言 二.代码 三.运行结果 一.前言 批量读取文件夹内的文件,并替换各个文件的内容 二.代码 新建一个普通 Java 项目就可以,创建文 ...
- python解析dat文件生成xlsx文件
系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 python解析dat文件生成xlsx文件 提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 ...
最新文章
- CentOS7.4 安装mongodb
- 创建型模式--(再论)单例模式
- 4.9 内容代价函数-深度学习第四课《卷积神经网络》-Stanford吴恩达教授
- python与用户交互、数据类型
- 京东连续亏损十几年,为什么却发展越来越大?
- 四元数乘法_JPL四元数和Hamilton四元数的区别
- (王道408考研操作系统)第四章文件管理-第一节9:文件系统的层次结构
- ORB-SLAM2介绍(1)
- 一个酷炫的音乐播放界面
- 计算机二级--java篇
- TransE模型的简单介绍TransE模型的python代码实现
- Word转换PDF:pdf虚拟打印机怎么用操作技巧详解
- cipher 加密解密
- np.maximum()
- 手机安装linux发行版,为亲朋好友挑选一款合适的Linux发行版
- mac、parallel是什么
- 阿里云国际版ECS云服务器Windows系统手动搭建WordPress
- mcafee杀毒软件编写规则时通配符使用方法
- 模糊锐化涂抹加深减淡海绵以及蒙版
- 射频通路 隔直_CMT2300A的开关射频匹配网络电路设计
热门文章
- 洛谷 P1218 [USACO1.5]特殊的质数肋骨 Superprime Rib
- python基础(迭代器,生成器,装饰器)
- 信息与计算机科学专业自荐书,信息与计算科学专业的自荐信
- 2022-2028年中国服装电商行业发展战略规划及投资方向研究报告
- Markdown here 离线下载安装
- 【Leetcode】 刷题之路1(python)
- yolact_ros出坑记录
- python终止线程报错_退出整个程序时出现python线程异常错误
- 2018usnews计算机专业排名,2018年研究生计算机专业前50排名(美USNews版)
- android释放acitity内存,Android 内存泄漏分析与解决方法