文件上传以及配置跨域问题

1、文件上传代码

  @Transactional(rollbackFor=Exception.class)
    public String uploadFile(MultipartFile file,FileVo fileVo) throws Exception{

        //按日期目录存放
        String trsfilename = DateTimeUtil.getDateTime("yyyyMMddHHmmssSSS");
        String fileName = file.getOriginalFilename();
        String fileSavePath = savePath + "/" + trsfilename.substring(0, 4)
                + "/" + trsfilename.substring(4, 6)
                + "/" + trsfilename.substring(6, 8);
        //判断目录是否存在,不存在则创建目录
        File dir = new File(fileSavePath);
        if (!dir.exists()) {
            dir.mkdirs();
        }
        File dest = new File(fileSavePath +"/"+ fileName);
        file.transferTo(dest);
        logger.info("上传成功");
       
        return "上传成功";
    }

2、允许跨域请求的Filter配置

package com.njwd.costconfig.aop;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.cors.CorsConfiguration;
import org.springframework.web.cors.UrlBasedCorsConfigurationSource;
import org.springframework.web.filter.CorsFilter;

@Configuration
public class Corsconfig {

     private CorsConfiguration buildConfig() {
        CorsConfiguration corsConfiguration = new CorsConfiguration();
        corsConfiguration.setAllowCredentials(true);
        corsConfiguration.addAllowedOrigin("*");
        corsConfiguration.addAllowedHeader("*");
        corsConfiguration.addAllowedMethod("*");
        return corsConfiguration;
    }

    @Bean
    public CorsFilter corsFilter() {
        UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
        source.registerCorsConfiguration("/**", buildConfig());
        return new CorsFilter(source);
    }

}

 

你可能感兴趣的:(java)