瀏覽代碼

Merge remote-tracking branch 'origin/feature-v4-20220801' into feature-v4-20220801

dsx 2 年之前
父節點
當前提交
e1ab57088b
共有 1 個文件被更改,包括 9 次插入10 次删除
  1. 9 10
      4dkankan-utils-fyun-s3/src/main/java/com/fdkankan/fyun/s3/S3FileService.java

+ 9 - 10
4dkankan-utils-fyun-s3/src/main/java/com/fdkankan/fyun/s3/S3FileService.java

@@ -139,8 +139,8 @@ public class S3FileService extends AbstractFYunFileService {
     @Override
     public void deleteFolder(String bucket, String remoteFolderPath){
         try {
-            if (!remoteFolderPath.endsWith(File.separator)) {
-                remoteFolderPath = remoteFolderPath + File.separator;
+            if (!remoteFolderPath.endsWith("/")) {
+                remoteFolderPath = remoteFolderPath + "/";
             }
             log.info("开始删除文件夹:{}", remoteFolderPath);
             int maxKeys = 1000;
@@ -151,22 +151,21 @@ public class S3FileService extends AbstractFYunFileService {
             listObjectsRequest.setPrefix(remoteFolderPath);
             listObjectsRequest.setMaxKeys(maxKeys);
 
-            com.amazonaws.services.s3.model.ObjectListing objectListing;
+            ObjectListing objectListing;
+            DeleteObjectsRequest multiObjectDeleteRequest = new DeleteObjectsRequest(bucket).withQuiet(false);
             do {
                 listObjectsRequest.setMarker(nextMaker);
                 objectListing = s3.listObjects(listObjectsRequest);
                 List<S3ObjectSummary> objectSummaries = objectListing.getObjectSummaries();
                 List<DeleteObjectsRequest.KeyVersion> keys = objectSummaries.stream().map(summary -> new DeleteObjectsRequest.KeyVersion(summary.getKey())).collect(Collectors.toList());
-
-                DeleteObjectsRequest multiObjectDeleteRequest = new DeleteObjectsRequest(bucket)
-                                .withKeys(keys).withQuiet(false);
-                DeleteObjectsResult delObjRes = s3.deleteObjects(multiObjectDeleteRequest);
-                int successfulDeletes = delObjRes.getDeletedObjects().size();
-                log.info("删除aws文件成功,删除文件数;{}", successfulDeletes);
+                if (!ObjectUtils.isEmpty(keys)) {
+                    multiObjectDeleteRequest.setKeys(keys);
+                    s3.deleteObjects(multiObjectDeleteRequest);
+                }
                 nextMaker = objectListing.getNextMarker();
             } while (objectListing.isTruncated());
         } catch (Exception e) {
-            log.error("删除was文件失败,path=" + remoteFolderPath, e);
+            log.error("删除aws文件失败,path=" + remoteFolderPath, e);
         }
     }