yaml中的配置
file-save-path: D:/uploadFile/
将上传文件转成url链接形式,接口代码
@Value("${file-save-path}")
private String fileSavePath;
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd/");
ArrayList<String> mylist=new ArrayList();
@PostMapping("/uploads")
public ArrayList uploads(@RequestParam(value = "file",required = false) MultipartFile[] uploadFiles, HttpServletRequest req) {
String filePath = "";
for(MultipartFile uploadFile:uploadFiles){
String format = sdf.format(new Date());
File folder = new File(fileSavePath + format);
if (!folder.isDirectory()) {
folder.mkdirs();
}
String oldName = uploadFile.getOriginalFilename();
String newName = UUID.randomUUID().toString() +
oldName.substring(oldName.lastIndexOf("."), oldName.length());
try {
uploadFile.transferTo(new File(folder, newName));
filePath = req.getScheme() + "://" + req.getServerName() + ":" +
req.getServerPort() + "/uploadFile/" + format + newName;
} catch (IOException e) {
e.printStackTrace();
}
mylist.add(filePath);
}
return mylist;
}
配置静态资源映射
@Configuration
public class WebConfig implements WebMvcConfigurer {
/**
* 图片保存路径,自动从yml文件中获取数据
* 示例: E:/images/
*/
@Value("${file-save-path}")
private String fileSavePath;
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
/**
* 配置资源映射
* 意思是:如果访问的资源路径是以“/images/”开头的,
* 就给我映射到本机的“E:/images/”这个文件夹内,去找你要的资源
* 注意:E:/images/ 后面的 “/”一定要带上
*/
registry.addResourceHandler("/uploadFile/**")
.addResourceLocations("file:"+fileSavePath);
}
}
SpringBoot配置文件处理上传文件及静态资源
1414

被折叠的 条评论
为什么被折叠?



