多文件上传其实和单文件上传差不多,只是将上传的文件用数组形式接受
@PostMapping("/uploads")
public String uploads(MultipartFile [] files,HttpServletRequest req){
String format = sdf.format(new Date());
//将图片保存在项目路径下的img/年/月/日的文件夹下面
String realPath = req.getServletContext().getRealPath("/img") + format;
//根据路径创建一个文件夹
File folder = new File(realPath);
if (!folder.exists()){
folder.mkdirs();
}
for (MultipartFile file : files) {
//获取图片的名称
String oldName = file.getOriginalFilename();
//随机生成UUID来作为图片的前缀加上图片的格式jpg/png
String newName = UUID.randomUUID().toString()
+ oldName.substring(oldName.lastIndexOf("."));
try {
//将图片名字改为新名字
file.transferTo(new File(folder,newName));
//访问图片
String url = req.getScheme() + "://" + req.getServerName() + ":" + req.getServerPort()
+ "/img" + format + newName;
return url;
} catch (IOException e) {
e.printStackTrace();
}
}
return "error";
}
前端这里要用可以接受多个文件上传字段multiple