浏览代码

minio图片删除测试

gao.qiang 10 月之前
父节点
当前提交
7d7335bf87
共有 1 个文件被更改,包括 8 次插入6 次删除
  1. 8 6
      hazard-admin/src/main/java/com/ozs/web/core/util/CameraUtil.java

+ 8 - 6
hazard-admin/src/main/java/com/ozs/web/core/util/CameraUtil.java

@@ -1059,14 +1059,14 @@ ffmpeg -i "concat:1.ts|2.ts" -c copy output.mp4
             // 指定要删除的时间点(此处为当前时间之前的时间)
             ZonedDateTime deleteTime = ZonedDateTime.now().minusDays(number); // 删除30天前的文件
 
-            // 删除指定目录下的所有文件和文件夹
-            deleteDirectoriesAndFilesRecursively(minioClient, bucketName, prefix, deleteTime);
+            // 删除指定目录下的所有文件夹及其子文件和文件夹
+            deleteDirectoriesAndContentsRecursively(minioClient, bucketName, prefix, deleteTime);
         } catch (Exception e) {
             System.out.println("Error occurred: " + e);
         }
     }
-    
-    private static void deleteDirectoriesAndFilesRecursively(MinioClient minioClient, String bucketName, String prefix, ZonedDateTime deleteTime) throws Exception {
+
+    private static void deleteDirectoriesAndContentsRecursively(MinioClient minioClient, String bucketName, String prefix, ZonedDateTime deleteTime) throws Exception {
         Iterable<Result<Item>> results = minioClient.listObjects(ListObjectsArgs.builder()
                 .bucket(bucketName)
                 .prefix(prefix)
@@ -1080,12 +1080,14 @@ ffmpeg -i "concat:1.ts|2.ts" -c copy output.mp4
                 log.info("删除的时间:"+deleteTime);
                 log.info("文件夹的时间:"+itemLastModified);
                 if (itemLastModified.isBefore(deleteTime)) {
-                    // 删除文件夹及其所有文件
+                    // 递归删除文件夹及其所有文件和文件夹
+                    deleteDirectoriesAndContentsRecursively(minioClient, bucketName, item.objectName(), deleteTime);
+                    // 删除当前文件夹
                     minioClient.removeObject(RemoveObjectArgs.builder()
                             .bucket(bucketName)
                             .object(item.objectName())
                             .build());
-                    log.info("删除文件夹及其所有文件: " + item.objectName());
+                    log.info("删除文件夹及其所有文件和文件夹: " + item.objectName());
                 }
             }
         }