阿里云oss云服务分页查询图片工具类-java-demo

本文介绍了一个实用的方法来分页获取阿里云OSS存储桶中的纯图片资源链接,包括.png和.jpg格式的图片文件。通过设定每页获取的数量及使用OSSClient进行分页请求,该方法能有效地遍历指定存储桶内的所有图片,并生成对应的URL。
/**
     * 分页获取纯图片的网页地址
	 * @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;
	}
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值