/**
* 模糊查询文件
* @param containStr 模糊查询字段
* @param Marker 下一次列举文件的起点
* @param axKeys 查询条数
* @param list 结果集合
* @return
*/
public static FileVo SelectFile(String containStr, String Marker, int axKeys, List<String> list) {
OSS ossClient = new OSSClientBuilder().build(config.getEndpoint(), config.getAccessKeyId(), config.getAccessKeySecret());
ObjectListing objectListing = ossClient.listObjects(new ListObjectsRequest(config.getBucketName()).withMarker(Marker).withMaxKeys(axKeys));
List<OSSObjectSummary> sums = objectListing.getObjectSummaries();
for (OSSObjectSummary s : sums) {
if (s.getKey().contains(containStr)) {
list.add(s.getKey());
}
}
if (list.size() < axKeys
&& sums.size() >= axKeys
&& StringUtils.isNotEmpty(containStr)) {
return SelectFile(containStr, objectListing.getNextMarker(), axKeys, list);
}
FileVo fileVo = new FileVo();
if ((list.size() <= axKeys)==true) {
fileVo.setNextMarker(objectListing.getNextMarker());
} else {
fileVo.setNextMarker(list.get(axKeys));
list = list.subList(0, axKeys);
}
fileVo.setUrl(list);
ossClient.shutdown();
return fileVo;
}
阿里云oss文件支持模糊查询
于 2020-07-20 23:26:00 首次发布