Browse Source

minio图片删除测试

gao.qiang 10 months ago
parent
commit
168ccae7a5
1 changed files with 13 additions and 17 deletions
  1. 13 17
      hazard-admin/src/main/java/com/ozs/web/core/util/CameraUtil.java

+ 13 - 17
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天前的文件
 
-            // 删除指定目录下的所有文件夹及其子文件和文件夹
-            deleteDirectoriesAndContentsRecursively(minioClient, bucketName, prefix, deleteTime);
+            // 删除指定目录下的所有文件和文件夹
+            deleteObjectsAndEmptyDirectoriesRecursively(minioClient, bucketName, prefix, deleteTime);
         } catch (Exception e) {
             System.out.println("Error occurred: " + e);
         }
     }
 
-    private static void deleteDirectoriesAndContentsRecursively(MinioClient minioClient, String bucketName, String prefix, ZonedDateTime deleteTime) throws Exception {
+    private static void deleteObjectsAndEmptyDirectoriesRecursively(MinioClient minioClient, String bucketName, String prefix, ZonedDateTime deleteTime) throws Exception {
         Iterable<Result<Item>> results = minioClient.listObjects(ListObjectsArgs.builder()
                 .bucket(bucketName)
                 .prefix(prefix)
@@ -1075,20 +1075,16 @@ ffmpeg -i "concat:1.ts|2.ts" -c copy output.mp4
 
         for (Result<Item> result : results) {
             Item item = result.get();
-            if (item.isDir()) {
-                ZonedDateTime itemLastModified = item.lastModified();
-                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());
-                }
+            ZonedDateTime itemLastModified = item.lastModified();
+             log.info("删除的时间:"+deleteTime);
+            log.info("文件夹的时间:"+itemLastModified);
+            if (itemLastModified.isBefore(deleteTime)) {
+                // 删除文件或文件夹
+                minioClient.removeObject(RemoveObjectArgs.builder()
+                        .bucket(bucketName)
+                        .object(item.objectName())
+                        .build());
+                log.info("删除文件或文件夹: " + item.objectName());
             }
         }
     }