本項目部署的方式是單純的jar形式壮莹。而且圖片的上傳和下載保存在本地翅帜。不想依托于七牛云等其他文件服務(wù)器姻檀。
所以圖片上傳保存的路徑是項目的根目錄命满。訪問時通過映射到圖片路徑下。
/**
* 上傳文件
*/
public static String uploadFile(MultipartFile file) throws IOException {
// 文件上傳路徑绣版,相對路徑
String filePath = System.getProperty("user.dir")+File.separator+"upload";
// 獲取文件名
String fileName = file.getOriginalFilename();
// 獲取文件的后綴名
String suffixName = fileName.substring(fileName.lastIndexOf("."));
// 解決中文問題胶台,liunx下中文路徑,圖片顯示問題
fileName = UUID.randomUUID() + suffixName;
File fileDir = new File(filePath);
// 檢測是否存在目錄
if (!fileDir.exists()) {
fileDir.mkdirs();
}
// 構(gòu)建真實的文件路徑
File dest = new File(fileDir.getAbsolutePath() + File.separator + fileName);
try {
file.transferTo(dest);
} catch (IllegalStateException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
fileName = "/upload/" + fileName;
return fileName;
}
###圖片路徑映射
@Configuration
public class WebConfig implements WebMvcConfigurer {
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
// /upload/**為前端URL訪問路徑 后面為本地磁盤映射
// System.getProperty("user.dir")為當(dāng)前項目所在路徑
registry.addResourceHandler("/upload/**").addResourceLocations("file:" +System.getProperty("user.dir")+ File.separator+"upload"+File.separator);
}