0
点赞
收藏
分享

微信扫一扫

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 条评论