多图片上传-springboot
@RequestMapping(value = "save.do")
@ResponseBody
public String save(HttpServletRequest request, HttpServletResponse response, ModelMap model,
@RequestParam("logos")MultipartFile[] files) {
List<String> logos;
// if(files!=null) {
// for(int i=0;i<files.length;i++) {
// MultipartFile file = files[i];
// // 获取文件名
// String fileName = file.getOriginalFilename();
// log.info("上传的文件名为:" + fileName);
// String prefixName = fileName.substring(0, fileName.lastIndexOf("."));
// String suffixName = fileName.substring(fileName.lastIndexOf("."));
// log.info("上传的后缀名为:" + suffixName);
//
// File dest = new File(filePath + fileName);
// // 检测是否存在目录
// if (!dest.getParentFile().exists()) {
// dest.getParentFile().mkdirs();
// }
// if(dest.exists()) {
// //已有同名文件
// dest = new File(filePath + prefixName+System.currentTimeMillis()+suffixName);// }// try {// file.transferTo(dest);// //获取访问路径// logos.add(dest.getPath());// } catch(Exception e) {// e.printStackTrace();// result = "文件上传失败!";// }// }// }// String tempStr = logos.toString();//[string1,string2]// vo.setLogo(tempStr.substring(1, tempStr.length()-1));//string1,string2// // // fileName = prefixName + UUID.randomUUID() + suffixName;
}
//解决中文问题,liunx下中文路径,图片显示问题
@RequestMapping("upload.do")
public String save(HttpServletRequest request, @RequestParam MultipartFile[] myfile) throws IOException {
List<Long> ids = new ArrayList<>();
if (myfile.length==0) {
return null;
} else {
for (MultipartFile multipartFile : myfile) {
String contentType = multipartFile.getContentType();
if (StringUtils.endsWithAny("image/jpeg", "image/gif","image/jpeg","image/png",contentType)) {
InputStream inputStream = multipartFile.getInputStream();
String originalFilename = multipartFile.getOriginalFilename();
Date date=new Date();
String dateStr = DateUtils.getDateStr(date);
FileImgVo fileImgVo=new FileImgVo();
FileInfoVo fileInfoVo=new FileInfoVo();
fileInfoVo.setFileDesc("");
String fileRelativePath="img/"+dateStr;
fileInfoVo.setFileRelativePath(fileRelativePath);
fileInfoVo.setFileSaveName(UUID.randomUUID().toString());
fileInfoVo.setFileExtensionName(originalFilename.substring(originalFilename.lastIndexOf("."), originalFilename.length()));
fileInfoVo.setFileName(originalFilename);
Long size = multipartFile.getSize();
fileInfoVo.setFileSize(new Double(size));
BufferedImage bufferedImage = ImageIO.read(inputStream);
if (bufferedImage!=null) {
fileImgVo.setImgFileHight(bufferedImage.getHeight());
fileImgVo.setImgFileWidth(bufferedImage.getWidth());
}
File file=new File(fileLocation+fileRelativePath);
if (!file.exists()) {
file.mkdirs();
}
File target=new File(file, fileInfoVo.getFileSaveName()+fileInfoVo.getFileExtensionName());
String format=contentType.substring(contentType.lastIndexOf("/")+1, contentType.length());
try {
ImageIO.write(bufferedImage, format, target);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
//文件id
ids.add(id);
}
}
}
return StringUtils.join(ids, ",");
}