Java中使用UUID给图片命名的文件上传方法

场景

照片上传时给重命名时使用UUID进行重命名。

实现

在实现方法上传的方法中调用工具类的地方

Map 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 uploadImgByUuid(String dir,MultipartFile file) {
  
  Map jsonResult = new HashMap();
  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;
 }
}

 

你可能感兴趣的:(JavaSE)