需要注入ServletContext
@Autowired
private ServletContext servletContext;
/**
* 上傳圖片
*/
private String saveFile(MultipartFile file){
if (!file.isEmpty()) {
try {
// getRealPath() 取得 WEB-INF 所在文件夾路徑
// 如果參數是 "/temp", 當 temp 存在時返回 temp 的本地路徑, 不存在時返回 null/temp (無效路徑)
//獲取原文件名
String fileName = file.getOriginalFilename();
log.info(fileName);
//文件后綴帶點
String suffix = fileName.substring(fileName.lastIndexOf("."));
//新文件名 防止重復
String name= UUID.randomUUID()+suffix;
//文件地址
String path = servletContext.getRealPath("") + "/uplodefiles/"+ name;
//通過流的形式復制文件
FileCopyUtils.copy(file.getInputStream(), new FileOutputStream(path));
//將上傳的文件地址返回
String imgurl = StaticFinalVar.Local_URL+"/uplodefiles/"+ name;
System.out.println(imgurl);
return imgurl;
} catch (IOException e) {
e.printStackTrace();
}
}
return "1";
}