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

使用easyexcel导出,发生了Exception: could not find acceptable repesentation

报错信息:

在这里插入图片描述

原因以及解决方案:

原因是我的代码使用Resp响应返回实体,其实使用EasyExcel导出已经设置了响应编码,导致重复了。
当你通过 HttpServletResponse 的输出流写入文件时,你已经直接控制了响应体。如果此时还尝试返回一个包含响应体的 ResponseEntity,那么Spring MVC可能会尝试再次写入响应体,这会导致冲突或覆盖你之前写入的内容。

    @GetMapping("/export")public Resp easyexcelExport(HttpServletResponse response){try {// ...省略其他代码// 定义定义文件名String filename = URLEncoder.encode("用户列表", "UTF-8");response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");response.setCharacterEncoding("utf-8");response.setHeader("Content-Disposition","attachment;filename=" + filename + ".xlsx");EasyExcel.write(response.getOutputStream(), TbUser.class).sheet("sheet1").doWrite(tbUserList);} catch (IOException e) {throw new RuntimeException(e);}return Resp.success();}

解决方案:

  • 如果你的控制器方法只负责导出文件,并且文件已经通过HttpServletResponse发送,那么方法应该直接返回void或null,而不是ResponseEntity。
  • 确保你没有在发送文件后尝试设置任何响应体或状态码(这些应该通过HttpServletResponse来设置)。

返回类型使用void就正常了。
在这里插入图片描述

结束!!!!!
hy:69


				后来我才想明白,与其担心未来,不如现在好好努力。这条路上,只有奋斗才能给你安全感。

相关文章:

使用easyexcel导出,发生了Exception: could not find acceptable repesentation

报错信息: 原因以及解决方案: 原因是我的代码使用Resp响应返回实体,其实使用EasyExcel导出已经设置了响应编码,导致重复了。 当你通过 HttpServletResponse 的输出流写入文件时,你已经直接控制了响应体。如果此时还尝…...

android display 笔记(五)HWC(Hardware Composer)

HWC 简单来说HWC是用来合成图形和显示图形的,可以把多个图形缓存传给硬件混合渲染器,让硬件混合渲染器执行合成操作,显示图形就是直接将图形缓存显示到屏幕。 android 14 /hardware/interfaces/graphics/composer/2.1/IComposer.hal 19 im…...

【模电笔记】——集成运算放大电路

tips:本章节的笔记已经打包到word文档里啦,建议大家下载文章顶部资源(有时看不到是在审核中,等等就能下载了。手机端下载后里面的插图可能会乱,建议电脑下载,兼容性更好且易于观看),…...

Android Studio Gradle多渠道打包

原理使用Android Studio打一次渠道包,用反编译工具反编译后,修改渠道信息重新编译 准备文件 分渠道配置文件:channel.txt ↓ # 多渠道配置里“统计平台”、“市场名称”、“渠道编号”分别代表什么意思? # 统计平台:…...

什么是DNS缓存?DNS缓存有哪些作用和危害?

在互联网世界的运转机制中,DNS(域名系统)是其中的关键,而DNS缓存则是这一系统的重要环节。它既能加快网站的访问速度,同时也会对网络安全造成影响,因此了解DNS缓存对于网站的日常管理至关重要。 什么是DNS…...

web基础与http协议与配置

目录 一、web基础 1.1 DNS与域名(详解看前面章节) 1.2 网页的概念(HTTP/HTTPS) 1.2.1 基本概念 1.2.2 HTML文档结构(了解) 1.2.3 web相关重点 1.2.4 静态资源和动态资源 二、http协议 2.1 概述 2.2 cookie和session&…...

机械学习—零基础学习日志(python编程2)

零基础为了学人工智能,正在艰苦的学习 这里把,函数以及类相关的知识做一个笔记,放在这里。 期待与大家交流~ 变量作用域 Python 中,程序的变量并不是在哪个位置都可以访问的,访问权限决定于这个变量是在哪里赋值的…...

element-plus的表单输入框有清除按钮的,文字输入前后宽度不一致怎么解决

输入内容之后多了一个可清除的图标,输入框的宽度也被撑开了 根据输入前后的dom对比发现,多了一个图标的span标签 :deep(.el-input__wrapper) {position: relative;.el-input__inner {padding-right: 18px;}.el-input__suffix {position: absolute;right:…...

解决Docker拉取镜像时 i/o timeout错误

目录 一,设置Docker镜像源(推荐) 1.1 解决方案1:配置加速地址 1.2 解决方案2:使用代理拉取镜像 1.3 解决方案3:备用办法:直接传送镜像 二,目前可用的镜像源 一,设置…...

面壁的智能开源 MiniCPM-V 2.6 边缘人工智能多模态功能与 GPT-4V 不相上下

"MiniCPM-V2.6 "是一个边缘多模态人工智能模型,仅拥有 80 亿个参数,却在单图像、多图像和视频理解任务中取得了低于 200 亿个参数的三项 SOTA(艺术境界)成绩,显著增强了边缘多模态能力,并与 GPT-…...

dhcp+checkkickstar的实验理解

文章目录 实验介绍使用的服务介绍PXE服务dhcp服务Kickstart 服务tftp服务 第一部分(基础部分)代码展示注意点第一点![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/13c0f4aabb664655a4dd285dd8e5527a.png)第二点 结果展示 第二部分&#xff08…...

Android网络安全:如何防止中间人攻击

文章目录 引言一、中间人攻击概述二、预防中间人攻击的方法2.1 使用HTTPS2.2 证书锁定(Certificate Pinning)2.3 使用SSL/TLS最佳实践2.4 验证主机名 三、总结 引言 中间人攻击(Man-in-the-Middle,简称MITM)是一种常见…...

NOI Linux 2.0 的安装说明以及使用指南

关于 NOI Linux 2.0 NOI Linux 是 NOI 竞赛委员会基于 Ubuntu 操作系统开发的一款 Linux 桌面发行版,是一套免费的、专门为信息学奥林匹克竞赛选手设计的操作系统,是 NOI 系列赛事指定操作系统,适用于常见笔记本电脑和桌面电脑。 新建虚拟机…...

07、MySQL-多表查询

目录 1、内连接 1.1 隐式内连接 1.2 显式内连接 2、外连接 2.1 左外连接 2.2 右外连接 3、自连接 4、联合查询 5、子查询 5.1 标量子查询 5.2 列子查询 5.3 行子查询 5.4 表子查询 1、内连接 概念:相当于查询A、B表交集的部分数据 1.1 隐式内连接 语法&…...

20240809 每日AI必读资讯

乒乓球AI机器人赢了人类!正反手灵活转换,擦网球高球都能接 - 谷歌发布首个达到人类竞技水平的机器人Agent,挑战乒乓球赛场。 - 机器人通过学习大量乒乓球状态数据,掌握了正手上旋球、反手瞄准等技能,展现出高速运动…...

《投资的原理》阅读笔记一

这是我准备集中学习投资类书籍后阅读的第8本书,但是是第一本读到一半决定从新开始、每章都写笔记的第一本书。 《投资的原理》的作者陈嘉禾先生是一位资深的价值投资者,书中也是大力弘扬着价值投资,跟我倾向于量化投资方向的想法并不合拍&am…...

金九银十,全网最详细的软件测试面试题总结

前面看到了一些面试题,总感觉会用得到,但是看一遍又记不住,所以我把面试题都整合在一起,都是来自各路大佬的分享,为了方便以后自己需要的时候刷一刷,不用再到处找题,今天把自己整理的这些面试题…...

ActiveMQ任意文件写入漏洞(CVE-2016-3088)复现

一.环境配置 腾讯云的ubuntu操作系统,已经安装有docker 和 vulhub 直接来到 启动环境docker-compose,要在root权限下运行。 docker-compose up -d 若出现等待时间过长的情况,请参考这篇文章http://t.csdnimg.cn/SYhbE 访问http://公网ip:8…...

网络协议四 物理层,数据链路层

从这一节开始学习 五层模型。学习方法是从最底层物理层开始学习 七层模型 五层模型 各个层用的协议,以及加上协议后的称谓 各个层的作用 应用层:可以认为是原始数据,该数据称为 报文,用户数据。 运输层:也叫传输层&am…...

Python知识点:如何使用Twisted进行异步网络编程

Twisted是一个事件驱动的网络编程框架,支持异步编程,适用于处理大量并发网络连接的应用。使用Twisted进行异步网络编程可以分为以下几个步骤: 安装Twisted: 首先需要安装Twisted库,可以使用pip进行安装: pi…...

【决胜公务员考试】求职OMG——见面课测验1

2025最新版!!!6.8截至答题,大家注意呀! 博主码字不易点个关注吧,祝期末顺利~~ 1.单选题(2分) 下列说法错误的是:( B ) A.选调生属于公务员系统 B.公务员属于事业编 C.选调生有基层锻炼的要求 D…...

工业自动化时代的精准装配革新:迁移科技3D视觉系统如何重塑机器人定位装配

AI3D视觉的工业赋能者 迁移科技成立于2017年,作为行业领先的3D工业相机及视觉系统供应商,累计完成数亿元融资。其核心技术覆盖硬件设计、算法优化及软件集成,通过稳定、易用、高回报的AI3D视觉系统,为汽车、新能源、金属制造等行…...

HashMap中的put方法执行流程(流程图)

1 put操作整体流程 HashMap 的 put 操作是其最核心的功能之一。在 JDK 1.8 及以后版本中,其主要逻辑封装在 putVal 这个内部方法中。整个过程大致如下: 初始判断与哈希计算: 首先,putVal 方法会检查当前的 table(也就…...

让回归模型不再被异常值“带跑偏“,MSE和Cauchy损失函数在噪声数据环境下的实战对比

在机器学习的回归分析中,损失函数的选择对模型性能具有决定性影响。均方误差(MSE)作为经典的损失函数,在处理干净数据时表现优异,但在面对包含异常值的噪声数据时,其对大误差的二次惩罚机制往往导致模型参数…...

JS设计模式(4):观察者模式

JS设计模式(4):观察者模式 一、引入 在开发中,我们经常会遇到这样的场景:一个对象的状态变化需要自动通知其他对象,比如: 电商平台中,商品库存变化时需要通知所有订阅该商品的用户;新闻网站中&#xff0…...

排序算法总结(C++)

目录 一、稳定性二、排序算法选择、冒泡、插入排序归并排序随机快速排序堆排序基数排序计数排序 三、总结 一、稳定性 排序算法的稳定性是指:同样大小的样本 **(同样大小的数据)**在排序之后不会改变原始的相对次序。 稳定性对基础类型对象…...

STM32HAL库USART源代码解析及应用

STM32HAL库USART源代码解析 前言STM32CubeIDE配置串口USART和UART的选择使用模式参数设置GPIO配置DMA配置中断配置硬件流控制使能生成代码解析和使用方法串口初始化__UART_HandleTypeDef结构体浅析HAL库代码实际使用方法使用轮询方式发送使用轮询方式接收使用中断方式发送使用中…...

Web中间件--tomcat学习

Web中间件–tomcat Java虚拟机详解 什么是JAVA虚拟机 Java虚拟机是一个抽象的计算机,它可以执行Java字节码。Java虚拟机是Java平台的一部分,Java平台由Java语言、Java API和Java虚拟机组成。Java虚拟机的主要作用是将Java字节码转换为机器代码&#x…...

高考志愿填报管理系统---开发介绍

高考志愿填报管理系统是一款专为教育机构、学校和教师设计的学生信息管理和志愿填报辅助平台。系统基于Django框架开发,采用现代化的Web技术,为教育工作者提供高效、安全、便捷的学生管理解决方案。 ## 📋 系统概述 ### 🎯 系统定…...

Linux中INADDR_ANY详解

在Linux网络编程中&#xff0c;INADDR_ANY 是一个特殊的IPv4地址常量&#xff08;定义在 <netinet/in.h> 头文件中&#xff09;&#xff0c;用于表示绑定到所有可用网络接口的地址。它是服务器程序中的常见用法&#xff0c;允许套接字监听所有本地IP地址上的连接请求。 关…...