lyhzzz 2 kuukautta sitten
vanhempi
commit
6f34c78cd9

+ 44 - 0
src/main/java/com/fdkankan/fusion/common/util/UploadToOssUtil.java

@@ -194,6 +194,50 @@ public class UploadToOssUtil {
 		return keyList;
 	}
 
+	public List<String> listKeysFromAli(String bucket,String sourcePath) {
+		if("local".equals(type)){
+			return localToOssUtil.listKeysFromAli(sourcePath);
+		}
+		List<String> keyList = new ArrayList<>();
+		OSSClient ossClient = new OSSClient(point, key, secrey);
+		try {
+			boolean flag = true;
+			String nextMaker = null;
+			ListObjectsRequest listObjectsRequest = new ListObjectsRequest(this.bucket);
+			//指定下一级文件
+			listObjectsRequest.setPrefix(sourcePath);
+			//设置分页的页容量
+			listObjectsRequest.setMaxKeys(200);
+			do
+			{
+				//获取下一页的起始点,它的下一项
+				listObjectsRequest.setMarker(nextMaker);
+				ObjectListing objectListing = ossClient.listObjects(listObjectsRequest);
+				List<OSSObjectSummary> objectSummaries = objectListing.getObjectSummaries();
+				List<String> collect = objectSummaries.stream().map(summary -> {
+					return summary.getKey();
+				}).collect(Collectors.toList());
+				if(CollUtil.isNotEmpty(collect)){
+					keyList.addAll(collect);
+				}
+				nextMaker = objectListing.getNextMarker();
+				//全部执行完后,为false
+				flag = objectListing.isTruncated();
+			} while (flag);
+		}catch (Exception e){
+			log.error("获取文件列表失败,path="+sourcePath, e);
+		}finally {
+			if(ossClient != null){
+				ossClient.shutdown();
+			}
+		}
+
+
+		ossClient.shutdown();
+
+		return keyList;
+	}
+
 	/**
 	 * 获取文件内容-阿里云
 	 * @param objectName