<!--oss-->
<dependency>
<groupId>com.aliyun.oss</groupId>
<artifactId>aliyun-sdk-oss</artifactId>
<version>2.8.3</version>
</dependency>
路径为oss://TESTXXX/CR/Z9002/Z9002_20190418075000.jpg
// Endpoint以北京为例,其它Region请按实际情况填写。
String endpoint = "http://oss-cn-beijing.aliyuncs.com";
// 阿里云主账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM账号进行API访问或日常运维,请登录 https://ram.console.aliyun.com 创建RAM账号。
String accessKeyId = "XXXX";
String accessKeySecret = "XXX";
String bucketName = "TESTXXX";
// String objectName = "CR/Z9002/Z9002_20190418075000.jpg";
// 创建OSSClient实例。
OSSClient ossClient = new OSSClient(endpoint, accessKeyId, accessKeySecret);
// 构造ListObjectsRequest请求
ListObjectsRequest listObjectsRequest = new ListObjectsRequest(bucketName);
//Delimiter 设置为 “/” 时,罗列该文件夹下的文件
listObjectsRequest.setDelimiter("/");
//Prefix 设为某个文件夹名,罗列以此 Prefix 开头的文件
listObjectsRequest.setPrefix("CR/");
ObjectListing listing = ossClient.listObjects(listObjectsRequest);
for (String commonPrefix : listing.getCommonPrefixes()) {
listObjectsRequest.setPrefix(commonPrefix);
ObjectListing listing2 = ossClient.listObjects(listObjectsRequest);
for (OSSObjectSummary objectSummary : listing2.getObjectSummaries()) {
//key:CR/Z9002/1.jpg等,即:Bucket中存储文件的路径
String key = objectSummary.getKey();
//判断文件所在本地路径是否存在,若无,新建目录
File file = new File("D:\\test\\" + key);
File fileParent = file.getParentFile();
if (!fileParent.exists()) {
fileParent.mkdirs();
}
//下载object到文件
ossClient.getObject(new GetObjectRequest(bucketName, key), file);
}
}
System.out.println("下载完成");
// 关闭client
ossClient.shutdown();