场景
照片上传时给重命名时使用UUID进行重命名。
实现
在实现方法上传的方法中调用工具类的地方
Map<String, Object> result = ImageUtil.getInstance().uploadImgByUuid(Constants.UPLOAD_IMG_COMMENTFILE,imgFile);
图片上传工具类中的方法:
public class ImageUtil {private static ImageUtil instance;/*** 定义私有构造方法实现单例*/public ImageUtil() {super();}public synchronized static ImageUtil getInstance() {if(instance == null) {instance = new ImageUtil();}return instance;}public Map<String,Object> uploadImgByUuid(String dir,MultipartFile file) {Map<String,Object> jsonResult = new HashMap<String, Object>();String msg = "";try {String fileName = file.getOriginalFilename();long fileSize = file.getSize();String exts = fileName.substring(fileName.lastIndexOf(".") + 1);if (fileSize > ResourceUtil.getUploadImageMaxSize()) {msg = "上传图片应小于2MB!";jsonResult = JsonResult.jsonWsReturn(1, msg ,false);LogService.getInstance(this).info("『功能:存储图片』失败 ,msg:" + msg);return jsonResult;}if (exts.indexOf(ResourceUtil.getUploadImageExts()) != -1) {msg = "上传格式应属于:" + ResourceUtil.getUploadImageExts();jsonResult = JsonResult.jsonWsReturn(1, msg ,false);LogService.getInstance(this).info("『功能:存储图片』 ,msg:" + msg);return jsonResult;}//图片命名规则:uuid命名方式fileName =UUID.randomUUID().toString()+"."+exts;String path = dir + File.separator + fileName;//删除原文件//防止误传地址误删信息// 存储路径String dirPath = ResourceUtil.getUploadImageRelativeRoot2()+ dir;String filePath = ResourceUtil.getUploadImageRelativeRoot2() + path;LogService.getInstance(this).debug(filePath);boolean resultDir = FileUtil.makedir(dirPath);if (resultDir == true) {File targetFile = new File(filePath);file.transferTo(targetFile);jsonResult = JsonResult.jsonWsReturn(0,fileName ,true);LogService.getInstance(this).info("『功能:储存图片』: ,fileName:"+ fileName + " ,msg:" + msg);} else {msg = "建立文件夹" + dirPath + "失败!";jsonResult = JsonResult.jsonWsReturn(1, msg ,false);LogService.getInstance(this).error("建立文件夹" + dirPath + "失败,完整路径为:dirPath");}} catch (Exception e) {msg = "上传图片失败!";jsonResult = JsonResult.jsonWsReturn(1, msg ,false);LogService.getInstance(this).error("上传图片失败",e);}return jsonResult;}}