<!--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();