Browse Source

minio图片删除测试

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

+ 15 - 13
hazard-admin/src/main/java/com/ozs/web/core/util/CameraUtil.java

@@ -1060,13 +1060,13 @@ ffmpeg -i "concat:1.ts|2.ts" -c copy output.mp4
             ZonedDateTime deleteTime = ZonedDateTime.now().minusDays(number); // 删除30天前的文件
 
             // 删除指定目录下的所有文件和文件夹
-            deleteObjectsAndEmptyDirectoriesRecursively(minioClient, bucketName, prefix, deleteTime);
+            deleteDirectoriesAndFilesRecursively(minioClient, bucketName, prefix, deleteTime);
         } catch (Exception e) {
             System.out.println("Error occurred: " + e);
         }
     }
-
-    private static void deleteObjectsAndEmptyDirectoriesRecursively(MinioClient minioClient, String bucketName, String prefix, ZonedDateTime deleteTime) throws Exception {
+    
+    private static void deleteDirectoriesAndFilesRecursively(MinioClient minioClient, String bucketName, String prefix, ZonedDateTime deleteTime) throws Exception {
         Iterable<Result<Item>> results = minioClient.listObjects(ListObjectsArgs.builder()
                 .bucket(bucketName)
                 .prefix(prefix)
@@ -1075,16 +1075,18 @@ ffmpeg -i "concat:1.ts|2.ts" -c copy output.mp4
 
         for (Result<Item> result : results) {
             Item item = result.get();
-            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());
+            if (item.isDir()) {
+                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());
+                }
             }
         }
     }