diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/drone/service/IDroDroneBigPictureService.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/drone/service/IDroDroneBigPictureService.java index d688de7a..100e0001 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/drone/service/IDroDroneBigPictureService.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/drone/service/IDroDroneBigPictureService.java @@ -140,10 +140,9 @@ public interface IDroDroneBigPictureService extends IService /** * 解压zip文件 * - * @param file zip文件 - * @param zipName zip文件名 + * @param zipFile zip文件 * @param tempDir 临时目录 * @return 解压后的文件的对象存储Ids */ - CompletableFuture> unzipAsync(MultipartFile file, String zipName, File tempDir); + CompletableFuture> unzipAsync(File zipFile, File tempDir); } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/drone/service/impl/DroDroneBigPictureServiceImpl.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/drone/service/impl/DroDroneBigPictureServiceImpl.java index 15f2eb7e..a735a66a 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/drone/service/impl/DroDroneBigPictureServiceImpl.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/drone/service/impl/DroDroneBigPictureServiceImpl.java @@ -630,8 +630,15 @@ public class DroDroneBigPictureServiceImpl extends ServiceImpl { String fileStr = result.stream() .map(String::valueOf) @@ -659,22 +666,17 @@ public class DroDroneBigPictureServiceImpl extends ServiceImpl> unzipAsync(MultipartFile file, String zipName, File tempDir) { - // 保存 ZIP - File zipFile = new File(tempDir, zipName); + public CompletableFuture> unzipAsync(File zipFile, File tempDir) { File unzipDir; try { - file.transferTo(zipFile); - // 解压操作非常耗时 unzipDir = ZipUtil.unzip(zipFile); - } catch (IOException e) { + } catch (Exception e) { // 记录错误日志 log.error("解压失败:{}", zipFile.getAbsolutePath(), e); // 抛出异常到上层 thenCompose,便于处理