浏览代码

Bugfix:酒吧演出上传图片时(修改上传工具类自动去除文件名中的逗号生成的 URL 不包含逗号用逗号分隔多个 URL 时不会被错误分割)

panzhilin 3 月之前
父节点
当前提交
00e4b854a0
共有 1 个文件被更改,包括 20 次插入7 次删除
  1. 20 7
      alien-store/src/main/java/shop/alien/store/util/FileUploadUtil.java

+ 20 - 7
alien-store/src/main/java/shop/alien/store/util/FileUploadUtil.java

@@ -61,7 +61,9 @@ public class FileUploadUtil {
             } else if (videoFileType.contains(fileNameAndType.get("type").toLowerCase())) {
                 prefix = "video/";
             }
-            return aliOSSUtil.uploadFile(multipartFile, prefix + fileNameAndType.get("name") + RandomCreateUtil.getRandomNum(6) + "." + fileNameAndType.get("type"));
+            // 去除文件名中的逗号,避免URL拼接时被错误分割
+            String fileName = fileNameAndType.get("name").replaceAll(",", "");
+            return aliOSSUtil.uploadFile(multipartFile, prefix + fileName + RandomCreateUtil.getRandomNum(6) + "." + fileNameAndType.get("type"));
         } catch (Exception e) {
             log.error("FileUpload.uploadOneFile ERROR Msg={}", e.getMessage());
             throw new RuntimeException(e);
@@ -111,14 +113,17 @@ public class FileUploadUtil {
                     uploadDir += "/image";
                     prefix = "image/";
                     log.info("FileUpload.uploadMoreFile 获取到图片文件准备复制 {} {} {}", uploadDir, prefix, multipartFile.getOriginalFilename());
-                    filePathList.add(aliOSSUtil.uploadFile(multipartFile, prefix + fileNameAndType.get("name") + RandomCreateUtil.getRandomNum(6) + "." + fileNameAndType.get("type")));
+                    // 去除文件名中的逗号,避免URL拼接时被错误分割
+                    String imageFileName = fileNameAndType.get("name").replaceAll(",", "");
+                    filePathList.add(aliOSSUtil.uploadFile(multipartFile, prefix + imageFileName + RandomCreateUtil.getRandomNum(6) + "." + fileNameAndType.get("type")));
                     ;
                 } else if (videoFileType.contains(fileNameAndType.get("type").toLowerCase())) {
                     uploadDir += "/video/";
                     prefix = "video/";
                     //上传视频文件
                     log.info("FileUpload.uploadMoreFile 获取到视频文件准备复制 {} {} {}", uploadDir, prefix, multipartFile.getOriginalFilename());
-                    String videoFileName = fileNameAndType.get("name") + RandomCreateUtil.getRandomNum(6);
+                    // 去除文件名中的逗号,避免URL拼接时被错误分割
+                    String videoFileName = fileNameAndType.get("name").replaceAll(",", "") + RandomCreateUtil.getRandomNum(6);
                     String cacheVideoPath = copyFile(uploadDir, multipartFile);
                     filePathList.add(aliOSSUtil.uploadFile(multipartFile, prefix + videoFileName + "." + fileNameAndType.get("type")));
                     //缓存视频截图使用
@@ -140,17 +145,23 @@ public class FileUploadUtil {
                     uploadDir += "/voice";
                     prefix = "voice/";
                     log.info("FileUpload.uploadMoreFile 获取到语音文件准备复制 {} {} {}", uploadDir, prefix, multipartFile.getOriginalFilename());
-                    filePathList.add(aliOSSUtil.uploadFile(multipartFile, prefix + fileNameAndType.get("name") + RandomCreateUtil.getRandomNum(6) + "." + fileNameAndType.get("type")));
+                    // 去除文件名中的逗号,避免URL拼接时被错误分割
+                    String voiceFileName = fileNameAndType.get("name").replaceAll(",", "");
+                    filePathList.add(aliOSSUtil.uploadFile(multipartFile, prefix + voiceFileName + RandomCreateUtil.getRandomNum(6) + "." + fileNameAndType.get("type")));
                 } else if (privacyFileType.contains(fileNameAndType.get("type").toLowerCase())) {
                     uploadDir += "/privacy/";
                     prefix = "privacy/";
                     log.info("FileUpload.uploadMoreFile 获取到隐私文件准备复制 {} {} {}", uploadDir, prefix, multipartFile.getOriginalFilename());
-                    filePathList.add(aliOSSUtil.uploadFile(multipartFile, prefix + fileNameAndType.get("name") + RandomCreateUtil.getRandomNum(6) + "." + fileNameAndType.get("type")));
+                    // 去除文件名中的逗号,避免URL拼接时被错误分割
+                    String privacyFileName = fileNameAndType.get("name").replaceAll(",", "");
+                    filePathList.add(aliOSSUtil.uploadFile(multipartFile, prefix + privacyFileName + RandomCreateUtil.getRandomNum(6) + "." + fileNameAndType.get("type")));
                 } else if (ohterFileType.contains(fileNameAndType.get("type").toLowerCase())) {
                     uploadDir += "/other/";
                     prefix = "other/";
                     log.info("FileUpload.uploadMoreFile 获取到其他文件准备复制 {} {} {}", uploadDir, prefix, multipartFile.getOriginalFilename());
-                    filePathList.add(aliOSSUtil.uploadFile(multipartFile, prefix + fileNameAndType.get("name") + RandomCreateUtil.getRandomNum(6) + "." + fileNameAndType.get("type")));
+                    // 去除文件名中的逗号,避免URL拼接时被错误分割
+                    String otherFileName = fileNameAndType.get("name").replaceAll(",", "");
+                    filePathList.add(aliOSSUtil.uploadFile(multipartFile, prefix + otherFileName + RandomCreateUtil.getRandomNum(6) + "." + fileNameAndType.get("type")));
                 }
             }
             return filePathList;
@@ -186,7 +197,9 @@ public class FileUploadUtil {
             //获取文件
             MultipartFile multipartFile = multipartRequest.getFileMap().get(storeImgVo.getName());
             Map<String, String> fileInfo = FileUtil.getFileNameAndType(multipartFile);
-            String videoFileName = fileInfo.get("name") + RandomCreateUtil.getRandomNum(6);
+            // 去除文件名中的逗号,避免URL拼接时被错误分割
+            String cleanFileName = fileInfo.get("name").replaceAll(",", "");
+            String videoFileName = cleanFileName + RandomCreateUtil.getRandomNum(6);
             String prefix;
             String filePath = "";
             if (imageFileType.contains(fileInfo.get("type").toLowerCase())) {