天天看點

springboot~靜态檔案映射

使用springboot進行檔案上傳時,你将檔案存到磁盤的一個位置,然後通過映射,将這個檔案夾映射成應用程式通路的一個路徑即可。

資源檔案映射

@Configuration
public class WebAppConfigurer implements WebMvcConfigurer {

    @Autowired
    private OssSetting ossSetting;

    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("/static/**")
                .addResourceLocations("file:///data/upload");
    }
}      

檔案上傳

public String localUpload(MultipartFile file, String key) {

        String day = DateUtil.format(DateUtil.date(), "yyyyMMdd");
        String path = "/data/upload/" + day;
        File dir = new File(path);
        if(!dir.exists()){
            dir.mkdirs();
        }
        File f = new File(path + "/" + key);
        if(f.exists()){
            throw new PkulawException("檔案名已存在");
        }
        try {
            file.transferTo(f);
            return path + "/" + key;
        } catch (IOException e) {
            log.error(e.toString());
            throw new PkulawException("上傳檔案出錯");
        }
    }      

作者:倉儲大叔,張占嶺,

榮譽:微軟MVP

繼續閱讀