Browse Source

Pull request #86: REPORT-88094 fix: 文件数量较多时,listEntry结果不全

Merge in PG/plugin-repository-s3 from ~AFLY/plugin-repository-s3:release/11.0 to release/11.0

* commit '9df410a237718f6931890e1d83b32b7d8c8d5fb2':
  REPORT-88094 fix: change-notes
  REPORT-88094 fix: 文件数量较多时,listEntry结果不全
release/11.0
Afly-储泓飞 2 years ago
parent
commit
b4efb4c951
  1. 2
      plugin.xml
  2. 11
      src/main/java/com/fanruan/fs/s3/repository/core/S3ResourceRepository.java

2
plugin.xml

@ -11,7 +11,7 @@
<vendor>richie</vendor>
<description><![CDATA[使用支持S3协议的云存储文件系统作为文件服务器。]]></description>
<change-notes><![CDATA[
[2023-01-03]优化写文件性能<br/>
[2023-01-03]优化写文件性能; 修复文件太多显示不全的问题。<br/>
[2022-09-22]第三方组件升级。 <br/>
[2022-07-25]修复http无法连接,而https和缺省的时候正常<br/>
[2022-06-30]新增enablePathStyleAccess、signerOverride后台配置<br/>

11
src/main/java/com/fanruan/fs/s3/repository/core/S3ResourceRepository.java

@ -87,6 +87,15 @@ public class S3ResourceRepository extends BaseResourceRepository {
ListObjectsRequest listObjectsRequest = new ListObjectsRequest().withBucketName(bucket)
.withPrefix(dir).withDelimiter(DELIMITER);
ObjectListing objectListing = s3.listObjects(listObjectsRequest);
collectFileEntry(result, objectListing);
while (objectListing.isTruncated()) {
objectListing = s3.listNextBatchOfObjects(objectListing);
collectFileEntry(result, objectListing);
}
return result.toArray(new FineFileEntry[0]);
}
private void collectFileEntry(List<FineFileEntry> result, ObjectListing objectListing) {
for (S3ObjectSummary summary : objectListing.getObjectSummaries()) {
String key = summary.getKey();
if (!key.endsWith(DELIMITER)) {
@ -98,8 +107,6 @@ public class S3ResourceRepository extends BaseResourceRepository {
entry.setDirectory(true);
result.add(entry);
}
return result.toArray(new FineFileEntry[0]);
}
@Override

Loading…
Cancel
Save