/**
* 分页获取纯图片的网页地址
* @param size
* @param ossClient
* @param bucketName
* @return
*/
public static List<String> limitGetOssImages(Integer size,OSSClient ossClient,String bucketName){
List<String> functionResp = new ArrayList<>(size);
ListObjectsV2Request listObjectsV2Request = new ListObjectsV2Request();
listObjectsV2Request.setBucketName(bucketName);
//分页
listObjectsV2Request.setMaxKeys(size);
//设置开始前的文件位置,分页头
while (functionResp.size() < size) {
ListObjectsV2Result listObjectsV2Result = ossClient.listObjectsV2(listObjectsV2Request);
List<OSSObjectSummary> objectSummaries = listObjectsV2Result.getObjectSummaries();
String nextContinuationToken = listObjectsV2Result.getNextContinuationToken();
listObjectsV2Request.setStartAfter(objectSummaries.get(objectSummaries.size()-1).getKey());
for (OSSObjectSummary objectSummary : objectSummaries) {
try {
String key = objectSummary.getKey();
if (key.endsWith(".png") || key.endsWith(".jpg")) {
String point = "oss-cn-shenzhen.aliyuncs.com";
URL url = new URL(String.format("http://%s.%s/%s",bucketName,point,key));
String path = url.toString();
if (functionResp.size() < size) {
functionResp.add(path);
}else {
break;
}
// System.out.println("path:"+path);
}
} catch (MalformedURLException e) {
e.printStackTrace();
}
}
//如果没有文件了,就截断返回
if (!listObjectsV2Result.isTruncated()) {
size = functionResp.size();
}
}
return functionResp;
}
阿里云oss云服务分页查询图片工具类-java-demo
最新推荐文章于 2025-02-25 18:08:20 发布
本文介绍了一个实用的方法来分页获取阿里云OSS存储桶中的纯图片资源链接,包括.png和.jpg格式的图片文件。通过设定每页获取的数量及使用OSSClient进行分页请求,该方法能有效地遍历指定存储桶内的所有图片,并生成对应的URL。
7410

被折叠的 条评论
为什么被折叠?



