使用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