首页 > 编程语言 >后端跨域问题导致java.io.IOException: UT010029: Stream is closed解决办法

后端跨域问题导致java.io.IOException: UT010029: Stream is closed解决办法

时间:2023-01-28 14:11:13浏览次数:60  
标签:Stream java 跨域 corsConfiguration FilterRegistrationBean source new response

转载自:https://blog.csdn.net/qq_45925197/article/details/126708024

背景

  • 下载文件压缩成zip包接口,postman自测没问题,但在和前端联调的时候前端就会出现如下跨域的报错:

  • 而且与其他正常请求相比,响应头如下少了跨域的几个header文件

  • 同时,后台日志出现了java.io.IOException: UT010029: Stream is closed

解决

猜测全局的跨域配置在某一个地方失效了;经排查,最终发现代码中response#reset重置了response,造成前端无法下载并报跨域问题。

#下载工具类
response.reset(); //将这一行注释掉就解决了
response.setCharacterEncoding(CharsetConstant.UTF8);
response.setContentType("application/zip");

项目本身的跨域配置如下:

@Configuration
public class CorsConfig {
    @Bean
    public FilterRegistrationBean<CorsFilter> corsFilter() {
        final CorsConfiguration corsConfiguration = new CorsConfiguration();
	corsConfiguration.setAllowCredentials(true);
	corsConfiguration.addAllowedOriginPattern("*");
	corsConfiguration.addAllowedHeader("*");
	corsConfiguration.addAllowedMethod("*");
	UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
	source.registerCorsConfiguration("/**", corsConfiguration);
	FilterRegistrationBean<CorsFilter> bean = new FilterRegistrationBean<>(new CorsFilter(source));
	bean.setOrder(Ordered.HIGHEST_PRECEDENCE);
	return bean;
    }
}

标签:Stream,java,跨域,corsConfiguration,FilterRegistrationBean,source,new,response
From: https://www.cnblogs.com/sudokill/p/16952880.html

相关文章

  • JavaScript 获取用户选择的文本
    constgetSelectedText=()=>window.getSelection().toString();getSelectedText();JQuery实例:$(function(){constgetSelectedText=()=>window.getSelect......
  • Java四大主流开源工作流引擎分析Shark,osworkflow,jbpm,jflow
     首先,这个评论是我从网上,书中,搜索和整理出来的,也许有技术点上的错误点,也许理解没那么深入。但是我是秉着学习的态度加以评论,学习,希望对大家有用,进入正题!   四大主流工......
  • android运行java
    1、java代码打包成jar1.手动打包可直接执行的jar包1)先使用javac编译java文件,得到class文件2)新建文件,名字任起,比如可以叫manifest,内容如下(注意:1.冒号后面加一个空......
  • java 创建 编辑 PDF
    JAVA操作PDF开源项目操作PDF的JAR主要分成两类,分别是iText系列和ApachePDFBox系列1.1iTextPDF:iText是著名的开放项目,是用于生成PDF文档的一个java类库。通过iText......
  • Java:注解
    注解还记得刚开始学注解时,很天真。傻傻以为创建一个注解类,加到类、方法、属性上就能有某种功能。现在对注解的理解很简单:标记,可以被程序读取到的标记!(注释是程序不会去执......
  • 数据可视化大屏高德地图javascript webAPI开发的智慧治安物联网管理系统实战解析(web
    文章目录​​高德地图开发系列文章目录​​​​前言​​​​一、项目说明​​​​二、核心代码开发​​​​1.引入库​​​​2.构建DOM容器​​​​3.高德地图开发​​​​(1......
  • 在java中实现两层关联的枚举
    在实际开发中,有各种奇葩的需求,我就遇到一次,在调度任务建依赖的时候,需要选择依赖的周期和周期的值比如下面这样,如果你依赖天任务,那么还需要选择今天、昨天还是前七天?周......
  • Java Web项目1:水果管理系统
    JavaWeb项目1:水果管理系统核心参考资料:JavaWeb教程笔记尚硅谷JavaWeb教程项目架构体系单一架构技术体系视图(V):用户的操作界面+数据的动态显示前端技术:HTML/CSS/J......
  • vue配置反向代理解决跨域__Vue.js
    正向代理与反向代理正向代理:在客户端和原始服务器(originserver)之间架设一个代理服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后......
  • 读Java8函数式编程笔记03_高级集合类和收集器
    1. 方法引用1.1. 一种引用方法的轻量级语法1.1.1. 提供了一种简短的语法1.1.2. 标准语法为Classname::methodName1.2. 凡是使用Lambda表达式的地方,就可以使用1.......