From 200b48dc4e65c520825f6aef0467e2babd2bab33 Mon Sep 17 00:00:00 2001 From: taochengbo <552920369@qq.com> Date: Sat, 23 May 2020 20:04:41 +0800 Subject: [PATCH] =?UTF-8?q?bug--=E4=BF=AE=E5=A4=8D=E6=9C=AC=E5=9C=B0?= =?UTF-8?q?=E6=96=87=E4=BB=B6=E4=B8=8A=E4=BC=A0=E4=B8=AD=E6=96=87=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/co/yixiang/utils/FileUtil.java | 25 +++++++++++++++---- 1 file changed, 20 insertions(+), 5 deletions(-) diff --git a/yshop-common/src/main/java/co/yixiang/utils/FileUtil.java b/yshop-common/src/main/java/co/yixiang/utils/FileUtil.java index b56a7942..49820b51 100644 --- a/yshop-common/src/main/java/co/yixiang/utils/FileUtil.java +++ b/yshop-common/src/main/java/co/yixiang/utils/FileUtil.java @@ -24,6 +24,7 @@ import java.text.SimpleDateFormat; import java.util.Date; import java.util.List; import java.util.Map; +import java.util.Random; /** * File工具类,扩展 hutool 工具包 @@ -140,13 +141,11 @@ public class FileUtil extends cn.hutool.core.io.FileUtil { * 将文件名解析成文件的上传路径 */ public static File upload(MultipartFile file, String filePath) { - Date date = new Date(); - SimpleDateFormat format = new SimpleDateFormat("yyyyMMddhhmmssS"); - String name = getFileNameNoEx(file.getOriginalFilename()); + //String name = getFileNameNoEx(file.getOriginalFilename()); String suffix = getExtensionName(file.getOriginalFilename()); - String nowStr = "-" + format.format(date); + StringBuffer nowStr = fileRename(); try { - String fileName = name + nowStr + "." + suffix; + String fileName = nowStr + "." + suffix; String path = filePath + fileName; // getCanonicalFile 可解析正确各种路径 File dest = new File(path).getCanonicalFile(); @@ -370,4 +369,20 @@ public class FileUtil extends cn.hutool.core.io.FileUtil { return accuracy; } + /** + * 上传文件重命名 + * @return 新的文件名 + */ + public static StringBuffer fileRename() { + SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS"); + String time = sdf.format(new Date()); + StringBuffer buf = new StringBuffer(time); + Random r = new Random(); + //循环取得三个不大于10的随机整数 + for (int x = 0; x < 3; x++) { + buf.append(r.nextInt(10)); + } + return buf; + } + }