文件上传后 自动 生成 时间戳+随机码
但是 我的后台需要上传的图片有重复的 不想让他重新生成新的图片新的名字
控制器部分代码
MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request; // 图片上传
MultipartFile left_img = multipartRequest.getFile("left_img");// 上传左图原文件
MultipartFile right_img = multipartRequest.getFile("right_img");// 上传右图原文件不仅仅是名字
FileUtil fileUtil = new FileUtil();
String fileRoot = request.getSession().getServletContext().getRealPath("upload/handAcupoint");
System.out.println("fileRoot:" + fileRoot);
String type = multipartRequest.getParameter("type");
String id = multipartRequest.getParameter("id1");
String code = multipartRequest.getParameter("num");
String name = multipartRequest.getParameter("name");
String en_name = multipartRequest.getParameter("en_name");
String pinyin = multipartRequest.getParameter("pinyin");
String location = multipartRequest.getParameter("location");
String left_x = multipartRequest.getParameter("left_x");
String left_y = multipartRequest.getParameter("left_y");
String right_x = multipartRequest.getParameter("right_x");
String right_y = multipartRequest.getParameter("right_y");
String zhuzhi = multipartRequest.getParameter("zhuzhi");
String leftFileName = null;
String rightFileName = null;
String yleftName = null; // 原来左图片名字
String yrightName = null;// 原来右图片名字
String res = null;
int code1 = Integer.parseInt(code);
int right_x1 = Integer.parseInt("0" + right_x);
int right_y1 = Integer.parseInt("0" + right_y);
int left_x1 = Integer.parseInt("0" + left_x);
int left_y1 = Integer.parseInt("0" + left_y);
if (type.equals("0")) {// 添加手诊穴位信息
leftFileName = fileUtil.saveImg(left_img, fileRoot, yleftName); // 左图
rightFileName = fileUtil.saveImg(right_img, fileRoot, yrightName); // 右图
int num = handDiagnosisService.saveHandAcupoint(code1, name, en_name, pinyin, location, leftFileName,
rightFileName, left_x1, left_y1, right_x1, right_y1, zhuzhi);
if (num != 0) {
res = "1001";// 添加成功
} else {
res = "1002";// 添加失败
}
OutputUtil.outPutString(response, res);
}
上传类代码
public class FileUtil {
/**
* 上传图片
* @param imgFile 图片文件
* @param fileRoot 目标地址
* @param fileName 图片名称
* @return
* @throws IOException
* @throws IllegalStateException
*/
public String saveImg(MultipartFile imgFile,String fileRoot,String fileName) throws IllegalStateException, IOException{
if(imgFile == null){
return null;
}
File src = new File(fileRoot);
if (!src.exists()) {
src.mkdirs();
}
fileName = fileName==null?System.currentTimeMillis()+ new Random().nextInt(100000)+".jpg":fileName;
/* String fileName = System.currentTimeMillis()+ new Random().nextInt(100000)+".jpg"; //图片名
*/ File newFile = new File(src, fileName);
imgFile.transferTo(newFile);
return fileName;
}
}