SpringBoot跨域以及上传文件1M限制的问题踩坑

问题背景描述
使用的阿里的OSS上传文件,本地自测通过,但是和前端联调的时候,出现了两个尴尬的问题:
1)一个是跨域问题,413报错
2)另一个是上传1M以内的文件完美上传,超过1M再次报错跨域问题

报错信息:

Access to XMLHttpRequest at 'http://192.168.21.100:9997/wahah/teacher/uploadPicture' from origin 'http://localhost:9000' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.

跨域解决措施
因为我使用的是Springboot框架,针对于跨域,Boot是有完整解决方案的:
让启动类继承WebMvcConfigurerAdapter类,并且重写addCorsMappings方法:

@SpringBootApplication
@EnableTransactionManagement
@EnableScheduling
@Slf4j
public class NewOfficialWebsiteApplication extends WebMvcConfigurerAdapter {

    public static void main(String[] args) {
        SpringApplication.run(NewOfficialWebsiteApplication.class, args);
    }

    @Override
    public void addCorsMappings(CorsRegistry registry) {
		//以下的更改是因为为了处理前端带有Session信息的场景,定制化处理跨域接受访问的地址
        String[] originLists = {"http://localhost:8868", // 本机调试
                "https://test-h5.wahaha.com", // 测试
                "https://test-wahaha.com",
                "https://pre-whhh5.wahaha.com", // 预生产
                "https://whhh5.wahaha.com", // 生产
                "https://www.wahaha.com",
                "https://test-www.wahaha.com"};

        registry.addMapping("/**")
                .allowCredentials(true)
                .allowedHeaders("*")
                .allowedOrigins(originLists)
                //.allowedOrigins("*")
                .allowedMethods("*");


    }


}

上传大小限制,经过查询,才知道,原来BOOT框架默认tomcat上传上限就是1M,如果想上传更大图片资源,需要我们手动配置最大上限

yml 文件里面添加:
spring
    servlet:
        multipart:
            #设置单个文件上传大小
            max-file-size: 10MB
            #设置总上传的数据大小
            max-request-size: 50MB

@Bean
    public MultipartConfigElement multipartConfigElement() {
        MultipartConfigFactory factory = new MultipartConfigFactory();
        //文件最大
        factory.setMaxFileSize("10240KB"); //KB,MB
        /// 设置总上传数据总大小
       factory.setMaxRequestSize("102400KB");
       return factory.createMultipartConfig();
   }


新建一个配置类文件,加上@Configuration 注解

至此,二狗将两个坑踩完~希望后来者可以有所规避!

你可能感兴趣的:(日常搬砖烫手之随笔)