Browse Source

1.0.5 bug

haogh 10 months ago
parent
commit
c878f5cbe2

+ 1 - 1
paper-library-business/src/main/java/com/qmth/paper/library/business/service/impl/FileUploadServiceImpl.java

@@ -92,7 +92,7 @@ public class FileUploadServiceImpl implements FileUploadService {
     @Override
     public FilePathVo uploadRotateFile(File file, UploadFileEnum uploadFileEnum, String filePathName) {
         try {
-            String md5 = DigestUtils.md5Hex(new FileInputStream(file));
+            String md5 = DigestUtils.md5Hex(Files.newInputStream(file.toPath()));
             fileStoreUtil.fileUpload(filePathName, new FileInputStream(file), md5);
             String type = fileStoreUtil.isOssStore() ? SystemConstant.OSS : SystemConstant.LOCAL;
             return new FilePathVo(filePathName, uploadFileEnum, type, md5);

+ 5 - 1
paper-library-business/src/main/java/com/qmth/paper/library/business/service/impl/PaperLibraryServiceImpl.java

@@ -438,6 +438,7 @@ public class PaperLibraryServiceImpl extends ServiceImpl<PaperLibraryMapper, Pap
             FilePathVo filePathVo = filePathVoList.get(isFront ? 0 : 1);
             // 旋转图片,并重新上传(文件名不变)
             outputFile = SystemConstant.getFileTempVar(filePathVo.getPath().substring(filePathVo.getPath().lastIndexOf(SystemConstant.ORG_POINT)));
+            log.warn("[图片旋转]临时文件路径:" + outputFile.getAbsolutePath());
             ImageUtil.rotate(fileUploadService.downloadInputStream(filePathVo.getPath(), filePathVo.getType()), rotate, outputFile);
             if (outputFile.exists()) {
                 fileUploadService.uploadRotateFile(outputFile, filePathVo.getUploadType(), filePathVo.getPath());
@@ -447,7 +448,10 @@ public class PaperLibraryServiceImpl extends ServiceImpl<PaperLibraryMapper, Pap
             throw ExceptionResultEnum.ERROR.exception("旋转图片保存失败:" + e.getMessage());
         } finally {
             if (outputFile != null && outputFile.exists()) {
-                outputFile.delete();
+                boolean deleted = outputFile.delete();
+                if (!deleted) {
+                    log.error("[图片旋转]临时文件删除失败!" + outputFile.getAbsolutePath());
+                }
             }
             lockService.unlock(LockType.ROTATE_PICTURE, paperLibraryId, isFront);
         }

+ 3 - 3
paper-library-business/src/main/java/com/qmth/paper/library/business/templete/service/impl/TaskLogicServiceImpl.java

@@ -639,7 +639,7 @@ public class TaskLogicServiceImpl implements TaskLogicService {
                 errorMsg.add("课程名称必填");
             }
             if (StringUtils.isNotBlank(examStudent.getCourseName()) && (examStudent.getCourseName().contains("/") || examStudent.getCourseName().contains("\\"))) {
-                errorMsg.add("课程名称不能包含/");
+                errorMsg.add("课程名称不能包含正反斜杠");
             }
             if (StoreTypeEnum.ROOM.equals(storeType) && StringUtils.isBlank(examStudent.getExamRoom())) {
                 errorMsg.add("考场必填");
@@ -648,10 +648,10 @@ public class TaskLogicServiceImpl implements TaskLogicService {
                 errorMsg.add("班级必填");
             }
             if(StringUtils.isNotBlank(examStudent.getClassName()) && (examStudent.getClassName().contains("/") || examStudent.getClassName().contains("\\"))) {
-                errorMsg.add("班级名称不能包含/");
+                errorMsg.add("班级名称不能包含正反斜杠");
             }
             if(StringUtils.isNotBlank(examStudent.getExamRoom()) && (examStudent.getExamRoom().contains("/") || examStudent.getExamRoom().contains("\\"))) {
-                errorMsg.add("考场不能包含/");
+                errorMsg.add("考场不能包含正反斜杠");
             }
 
             if (StringUtils.isNoneBlank(examStudent.getCourseCode(), examStudent.getCourseName())) {

+ 12 - 2
paper-library-common/src/main/java/com/qmth/paper/library/common/util/ImageUtil.java

@@ -2,6 +2,8 @@ package com.qmth.paper.library.common.util;
 
 
 import net.coobird.thumbnailator.Thumbnails;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import javax.imageio.ImageIO;
 import javax.imageio.ImageReadParam;
@@ -19,6 +21,8 @@ import java.util.Iterator;
  */
 public class ImageUtil {
 
+    private static final Logger log = LoggerFactory.getLogger(ImageUtil.class);
+
     /**
      * 裁剪图片
      *
@@ -83,7 +87,7 @@ public class ImageUtil {
             }
             Thumbnails.of(sourceFile).scale(0.8).rotate(rotate).toFile(outFile);
         } catch (IOException e) {
-            e.printStackTrace();
+            log.error(e.getMessage(),e);
         }
         return outFile;
     }
@@ -97,7 +101,13 @@ public class ImageUtil {
                 Thumbnails.of(inputStream).scale(1).rotate(rotate).outputQuality(1).toFile(outFile);
             }
         } catch (IOException e) {
-            e.printStackTrace();
+            log.error(e.getMessage(),e);
+        } finally {
+            try {
+                inputStream.close();
+            } catch (IOException e) {
+                log.error(e.getMessage(),e);
+            }
         }
         return outFile;
     }