public static final char AA = '/';
/**
* @desc: 上传背景图
* @Title: upLoadImg
* @param @param file
* @return ResponseEntity
* @throws FileNotFoundException
*/
@RequestMapping(value="upLoadImg",method=RequestMethod.POST,produces="application/json;charset=UTF-8")
@ResponseBody
public ResponseEntity upLoadImg(MultipartFile file) throws FileNotFoundException {
ResponseEntity responseEntity = new ResponseEntity();
String replaceAll = UUID.randomUUID().toString().replaceAll("-", "");
//判断类型是否符合
String nameHz = file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(".")+1);
if (!isPhoto(nameHz)){
responseEntity.setState(1);
responseEntity.setStatus(303);
responseEntity.setMessage("请选择格式为jpeg/jpg/pjpeg/png/x-png/gif的图片!!!");
return responseEntity;
}
if (file.isEmpty()) {
responseEntity.setState(1);
responseEntity.setStatus(303);
responseEntity.setMessage("图片不能为空!");
return responseEntity;
}else {
//保存时的文件名
String filename = file.getOriginalFilename();
String name = filename.substring(filename.lastIndexOf(".")+1);
String dateName = replaceAll+"."+ name;
String filePath = ResourceUtils.getURL("classpath:").getPath() + "img/";
System.out.println("文件路径"+filePath);
String pdfpath = filePath;
if (AA == (filePath.charAt(0))) {
pdfpath = filePath.substring(1);
}
File newFile = new File(pdfpath + dateName);
//MultipartFile的方法直接写文件
try {
//上传文件
// if(!newFile.exists()){
// newFile.mkdirs();
// }
file.transferTo(newFile);
String url = "./img/"+dateName;
//文件名与文件URL存入数据库表
responseEntity.setState(1);
responseEntity.setStatus(200);
responseEntity.setData(url);
} catch (IllegalStateException | IOException e) {
e.printStackTrace();
responseEntity.setState(1);
responseEntity.setStatus(500);
responseEntity.setMessage("系统异常,请稍后再试。。。");
}
}
return responseEntity;
}
/**
* 判断是否是图片 请选择格式为jpeg/jpg/pjpeg/png/x-png/gif的图片!
* @param photoName
* @return
*/
private boolean isPhoto(String photoName){
String imgExt = "jpg|jpeg|png|bmp|gif|pjpeg|x-png|GIF|JPG|PNG|JPEG|BMP|PJPEG|X-PNG";
if(imgExt .indexOf(photoName) >= 0){
return true;
}
return false;
}