Excel导出警告:文件格式和拓展名不匹配

news2024/9/28 11:20:35

原因描述: Content-Type

        原因:Content-Type,即内容类型,一般是指网页中存在的Content-Type,用于定义网络文件的类型和网页的编码,决定文件接收方将以什么形式、什么编码读取这个文件,这就是经常看到一些PHP网页点击的结果却是下载到的一个文件或一张图片的原因。 

        后端设置的格式为,对应于xlsx的文件后缀名,

//设置响应头信息
response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
response.setCharacterEncoding("utf-8");

        而前端下载时,文件拓展名没有从headers中取,是自行设置的——xls,两者之间对不上,所以产生了上面的提示信息。

         //下载文件流
        let blobUrl = window.URL.createObjectURL(
          new Blob([res], { type: "application/msexcel;charset=utf-8" /*"application/force-download"*/ })
        );
        let a = document.createElement("a");
        a.style.display = "none";
        a.setAttribute("href", blobUrl);
        const fileName = "系统配置列表"; //以时间信息作为文件名
        a.setAttribute("download", `${fileName}.xls`);
        document.body.appendChild(a);
        a.click(); //执行下载
        window.URL.revokeObjectURL(blobUrl);
        document.body.removeChild(a);

解决方案

        前端下载时,保证转换为Blob类型时的type字段值、a标签的download属性与后端的书写方式一致就行。

附:MIME TYPES表,完整版参考-Media Types (iana.org)

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

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

相关文章

HTML 入门手册(一)

目录 HTML介绍 1-基础语法 单标签 双标签 整体结构 2-标题和水平线 标题 水平线 3-段落和换行 段落 换行 4-列表 无序列表 有序列表 嵌套列表 5-div和span div span 6-格式化标签 粗体 斜体 下划线中划线 上标和下标 7-超链接(a标签) 链接到URL 链接…

网络原理-初识(1)

目录 网络发展史 独立模式 网络互连 局域网LAN 广域网WAN 网络通信基础 IP地址 概念 格式 端口 概念 格式 认识协议 概念 作用 五元组 网络发展史 独立模式 独立模式:计算机之间相互独立; 网络互连 随着时代的发展,越来越需要计算机之间相互通信,共享软件和数…

精通 VS 调试技巧,学习与工作效率翻倍!

​ ✨✨ 欢迎大家来到贝蒂大讲堂✨✨ ​ 🎈🎈养成好习惯,先赞后看哦~🎈🎈 ​ 所属专栏:C语言学习 ​ 贝蒂的主页:Betty‘s blog 1. 什么是调试 当我们写代码时候常常会遇见输出结果不符合我们预…

echarts绘制多条刻度线仪表盘,文本内容带背景且颜色渐变,echarts绘制复杂仪表盘

option {series: [{// 最外圈type: gauge,radius: 80%,center: [50%, 90%],startAngle: 180,endAngle: 0,min: 0,max: 100,progress: {show: false,width: 8},pointer: {show: false},axisLine: {show: false,lineStyle: {width: 50,color: [// axisTick使用的是这里的颜色[0.…

算法通关村番外篇-面试150题五

大家好我是苏麟 , 今天带来LeetCode面试题的哈希题目 . 哈希表 202. 快乐数 描述 : 编写一个算法来判断一个数 n 是不是快乐数。 「快乐数」 定义为: 对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和。然后重复这个过程直到这个数变为…

HarmonyOS鸿蒙学习基础篇 - 基本语法概述

书接上文 HarmonyOS鸿蒙学习基础篇 - 运行第一个程序 Hello World 基本语法概述 打开 entry>src>main>ets>pages>index.ets 代码如下代码详细解释如下: Entry //Entry装饰的自定义组件将作为UI页面的入口。在单个UI页面中,最多可以使用…

如何在Linux上部署Docker容器

一、什么是docker? Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不…

超分之ESRGAN

Esrgan:增强型超分辨率生成对抗网络。Esrgan: Enhanced super-resolution generative adversarial networks.In: ECCVW. (2018)Xintao Wang, Ke Yu, Shixiang Wu, Jinjin Gu, Yihao Liu,Chao Dong, Yu Qiao, and Chen Change Loy. 文章目录 摘要一、引言二、相关工作…

C. Peaceful Rooks

思路:如果是本来就位于对角线上的点,那么自然就没有必要进行移动了,否则就是在浪费操作次数。 那么不在对角线上的点一定需要操作一次,竖直移动或者水平移动到对角线上。 但是我们还发现可能会有n个点构成一个环,就像样…

基于Springboot的大学生心理健康管理系统(有报告)。Javaee项目,springboot项目。

演示视频: 基于Springboot的大学生心理健康管理系统(有报告)。Javaee项目,springboot项目。 项目介绍: 采用M(model)V(view)C(controller)三层体…

前端上传大文件使用分片上传

前提:分片上传针对于一些大的文件、普通大小的文件使用element中的上传组件可以实现效果,例如几G的文件就会比较卡,所以这时候就需要用到分片上传~ 前端及后端分片上传笔记 效果:(上传进度展示) 效果:(上传成功的效果展示) 1、 新建一个上传组件 2、使用vue-simple-…

thinkphp5向数据表插入数据并且获得id

$id db(数据表名)->insertGetId([status>1]); 直接...打印$id就是这条插入的数据的id了

MySQL定期整理磁盘碎片

MySQL定期整理磁盘碎片:提升数据库性能的终极指南 MySQL作为一个强大的关系型数据库管理系统,在长时间运行后可能会产生磁盘碎片,影响数据库性能。本博客将深入讨论如何定期整理MySQL磁盘碎片,以确保数据库的高效运行。我们将介绍…

MySQL的启动与连接

一、启动MySQL服务 方式一:进入计算机管理界面,点击【服务】,找到【MYSQL80】,右键开启即可 方式二:以管理员身份打开powershell, 输入命令net start MYSQL80. 二、连接MySQL服务 进入MySQL的安装目录中的bin目录&a…

JS中splice方法的用法总结

1. 概述 JavaScript中的splice()方法是用于增加、删除或替换数组中的元素。这个方法可以实现数组的细粒度操作,非常灵活和强大。 2. 语法 splice()方法的语法如下所示: start:必需,表示开始删除或插入的索引位置。如果为负数,则从数组的末尾开始计算。deleteCount:可选…

一些es的基本操作

目录 给索引增加字段:给索引删除字段[^1]:创建索引:插入document删除document(应该是按ID) : 给索引增加字段: 用postMan: 给名为population_portrait_hash_seven的索引增加了一个text类型的字段。 用chrome插件Elasticvue 的Re…

一种解决常用存储设备无法被电脑识别的方法

一、通用串行总线控制器描述 通用串行总线(Universal Serial Bus,简称USB),是连接电脑与设备的一种序列总线标准,也是一种输入输出(I/O)连接端口的技术规范,广泛应用于个人电脑和移动…

解决vld内存泄露检测工具只支持到vs2015的问题,visual studio2015以上版本安装vld内存泄漏检测工具[实测vs2022生效]

目录 一.vld工具下载二.vld应用安装三.visual studio2022环境配置四.visual studio2022 vld内存检测测试 一.vld工具下载 Visual Leak Detector github链接: https://kinddragon.github.io/vld/ 下载直达链接: https://github.com/KindDragon/vld/releases/tag/v2.5.1 下拉至…

怎么计算数据的均值和方差

1. 前言 pytorch 跑深度学习数据集的时候,需要先将数据归一化,可以让网络更好的收敛。一般的均值和方差都是利用(灰度值 - 0.5 )/ 0.5 本章提供一个计算均值和方差的代码,供以后使用 2. 完整代码 代码如下&#xff…

大数据开发之Spark(累加器、广播变量、Top10热门品类实战)

第 3 章:累加器 累加器:分布式共享只写变量。(executor和executor之间不能读数据) 累加器用来把executor端变量信息聚合到driver端。在driver中定义的一个变量,在executor端的每个task都会得到这个变量的一份新的副本…