ソースを参照

Merge remote-tracking branch 'remotes/origin/hotfixes_v5.0.5_20250211_updates' into dev_v5.0.6

xiatian 4 ヶ月 前
コミット
266495f562

+ 13 - 13
examcloud-core-questions-base/src/main/java/cn/com/qmth/examcloud/core/questions/base/converter/utils/FileUtil.java

@@ -27,7 +27,6 @@ import java.util.Date;
 import java.util.Enumeration;
 import java.util.LinkedList;
 import java.util.List;
-import java.util.UUID;
 import java.util.zip.ZipEntry;
 import java.util.zip.ZipFile;
 import java.util.zip.ZipOutputStream;
@@ -39,6 +38,7 @@ import org.apache.tika.Tika;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import cn.com.qmth.examcloud.commons.util.UUID;
 import cn.com.qmth.examcloud.core.questions.base.IoUtils;
 
 public class FileUtil {
@@ -46,23 +46,27 @@ public class FileUtil {
     private static final Logger log = LoggerFactory.getLogger(FileUtil.class);
 
     public static String imageUrlToBase64(String src) {
+        File temFile = null;
         File image = null;
         try {
             URL url = new URL(src);
             InputStream is = url.openStream();
-            String newFileName = UUID.randomUUID().toString();
-            image = new File("temp/" + newFileName);
-            if (!image.getParentFile().exists()) {
-                image.mkdirs();
+            String newFileName = UUID.randomUUID();
+            temFile = new File("temp/" + newFileName);
+            if (!temFile.getParentFile().exists()) {
+                temFile.mkdirs();
             }
-            FileUtils.copyInputStreamToFile(is, image);
-            String imageType = checkImageType(image);
-            newFileName = newFileName + "." + imageType;
-            image.renameTo(new File("temp/" + newFileName));
+            FileUtils.copyInputStreamToFile(is, temFile);
+            String imageType = checkImageType(temFile);
+            image = new File("temp/" + newFileName + "." + imageType);
+            temFile.renameTo(image);
             return fileToBase64(image);
         } catch (IOException e) {
             throw new RuntimeException(e);
         } finally {
+            if (temFile != null) {
+                image.delete();
+            }
             if (image != null) {
                 image.delete();
             }
@@ -275,10 +279,6 @@ public class FileUtil {
         return "/" + new SimpleDateFormat("yyyy-MM-dd").format(new Date()) + "/";
     }
 
-    public static String generateFileName() {
-        return UUID.randomUUID().toString().replaceAll("-", "");
-    }
-
     public static String generateDateName() {
         return new SimpleDateFormat("yyMMddHHmmss").format(new Date());
     }