当前位置: 首页 > 知识库问答 >
问题:

当MultipartException发生时,spring全局cors配置不起作用

韩玉石
2023-03-14

MultipartException今天出现在我的web应用程序中。我的web应用程序基于spring Boot。但是我在处理MultiPartException时发现了这个问题。以下是MultipartException信息:

multipart.multipartException:无法解析多部分servlet请求;嵌套异常是java.io.ioException:

临时上载位置[C:\users\pc\appdata\local\temp\tomcat.3024954041352048338.8082\work\tomcat\localhost\dutymanage]无效

问题是http响应不包含像'Access-Control-Allow-Origin'这样的头部。所以我想spring global cors配置不起作用。以下是响应头信息:

Connection:close
Content-Type:application/json;charset=UTF-8
Date:Wed, 29 Mar 2017 03:30:51 GMT
Server:Apache-Coyote/1.1
Transfer-Encoding:chunked

我故意在controller的相同方法中抛出一个新的RuntimeException,cors配置工作,http响应包含'Access-Control-Allow-Origin'的头部。

我的spring global cors配置如下所示:

@Configuration
public class WebMvcConfig extends WebMvcConfigurerAdapter {
// ...
@Override
public void addCorsMappings(CorsRegistry registry) {
    registry.addMapping("/**")
            .allowedOrigins(corsIps)
            .allowedMethods(corsMethods)
            .allowedHeaders(corsHeaders)
            .maxAge(3600);
    }
}

那么,为什么cors配置不能用于发生MultipartException的情况呢?

共有1个答案

张玺
2023-03-14

建议通过spring(或服务器)配置为临时存储指定自定义目录路径。

但是快速黑客将创建上述目录,并提供读/写权限,如下所示

mkdir -p C:\Users\PC\AppData\Local\Temp\tomcat.3024954041352048338.8082\work\Tomcat\localhost\dutyManage

chmod 755 C:\Users\PC\AppData\Local\Temp\tomcat.3024954041352048338.8082\work\Tomcat\localhost\dutyManage

xxxxxxxxxxxx-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx从服务器错误中使用此目录名。

 类似资料:
  • 然后我添加了一个SecurityConfig。从那时起,CorsFilter停止工作,我在angular应用程序中得到了一个异常: CORS策略阻止了从origin“http://localhost:8080/users/999/folders/%2f/media/”从“http://localhost:4200”访问“http://localhost:8080/users/999/folders

  • 我在spring cloud configuration 2020.0.3和spring boot 2.4.5中遇到了一个问题,详情如下: Yaml配置文件遵循多配置文件Yaml文档 我在配置服务器上有一个配置yaml文件 my\u cofig。亚马尔 我已经通过浏览器从配置服务器加载了配置,这是正确的。但是: 独自创立亚马尔 错误详细信息: 请帮帮我,非常感谢!

  • 为什么在Spring Boot 2.0.x(我的情况是2.0.1.release)下,我的“Access-Control-Allow-Credentials”不再被发送以响应飞行前调用(选项)?下面是我的全局CORS配置,它在Spring Boot 1.5.6下运行良好: 我的pom依赖项(我正在做我自己的安全和避免Spring Security): 对REST终结点的服务调用失败: 加载http

  • 我在may Spring应用程序中添加了安全问题,所以我想通过调试Spring。 Log4j正在工作,因为我的服务正在将调试信息记录到控制台。但是Spring没有记录任何东西到我的控制台 这是我的 在我如此放置。结果: 我尝试在我的网站上添加这个。正如在这个问题中所说的xml 我在其他应用程序中使用了此调试,但我真的没有看到原因。。。谢谢你的帮助

  • Mpx.config 是一个对象,包含 Mpx 的全局配置。可以在启动应用之前修改下列 property: useStrictDiff 类型: boolean 默认值:false 用法: 每次有数据变更时,是否使用严格的 diff 算法。如果项目中有大数据集的渲染建议使用,可以提升效率。 import mpx from '@mpxjs/core' mpx.config.useStrictDiff

  • 全局系统配置 服务端配置 通过服务端配置,配置每台CAT服务器的职责。 配置的sample如下: id="default"是默认的配置信息,server id="10.1.1.1" 如下的配置是表示10.1.1.1这台服务器的节点配置覆盖default的配置信息,比如下面的job-machine,alarm-machine,send-machine为true。 [注意这个IP为cat拿到的内网IP