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

场景

照片上传时给重命名时使用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;
 }
}

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

霸道流氓气质

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值