SpringBoot 文件上传解决跨域问题

后端解决跨域问题,在Controller接口上加上@CrossOrigin注解就可以,该注解可以加在类上,也可以加在方法上,一般的请求处理数据都没有问题,但是如果上传文件就会报跨域的错误。

解决这个文件上传跨域的问题,就需要增加一个过滤器配置。

import org.springframework.web.cors.CorsConfiguration;
import org.springframework.web.cors.UrlBasedCorsConfigurationSource;
import org.springframework.web.filter.CorsFilter;

    /**
     * 跨域过滤器
     * @return
     */
    @Bean
    public CorsFilter corsFilter() {
        UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
        CorsConfiguration corsConfiguration = new CorsConfiguration();
        corsConfiguration.addAllowedOrigin("*");
        corsConfiguration.addAllowedHeader("*");
        corsConfiguration.addAllowedMethod("*");
        //这句不加不能跨域上传文件,
        corsConfiguration.setAllowCredentials(true);
        source.registerCorsConfiguration("/**", corsConfiguration);
        return new CorsFilter(source);
    }

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Spring Boot是一个易于使用,集成度高的Java Web框架,开发者可以快速地创建可靠、可扩展的Web应用程序。在Spring Boot中,文件上传跨域是一个常见的问题。 文件上传跨域问题源自于浏览器的安全限制,正常的跨域请求会被禁止。在Spring Boot中,处理文件上传跨域问题可以通过使用CORS(跨域资源共享)来实现。使用CORS可以在服务端允许其他域名的请求,从而解决文件上传跨域的问题。 在Spring Boot中,我们可以通过添加CORS配置的方式来解决文件上传跨域问题。具体步骤如下: 1. 创建一个CORS配置的类。 ``` @Configuration public class CorsConfiguration { /** * 跨域资源共享配置 * * @return CorsConfigurationSource */ @Bean public CorsConfigurationSource corsConfigurationSource() { CorsConfiguration corsConfiguration = new CorsConfiguration(); corsConfiguration.addAllowedOrigin("*"); corsConfiguration.addAllowedHeader("*"); corsConfiguration.addAllowedMethod("*"); UrlBasedCorsConfigurationSource urlBasedCorsConfigurationSource = new UrlBasedCorsConfigurationSource(); urlBasedCorsConfigurationSource.registerCorsConfiguration("/**", corsConfiguration); return urlBasedCorsConfigurationSource; } } ``` 2. 在controller中添加上传文件的方法,并添加`@CrossOrigin`注解。 ``` @PostMapping("/upload") @CrossOrigin public String upload(@RequestParam("file") MultipartFile file) { // ... } ``` 使用CORS解决文件上传跨域问题,不仅可以保证服务端的安全性,还可以提高Web应用程序的可靠性和可扩展性。因此,在Spring Boot中建议使用CORS来解决文件上传跨域的问题。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值