Skip to content

Commit 44df5b3

Browse files
author
jeffreykzli
committed
update multipart copy Demo
1 parent 23bb813 commit 44df5b3

File tree

1 file changed

+28
-12
lines changed

1 file changed

+28
-12
lines changed

src/main/java/com/qcloud/cos/demo/MultipartUploadDemo.java

Lines changed: 28 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,30 @@ public static void main(String[] args) {
5252
}
5353
}
5454

55+
private static void multipartUploadDemo() {
56+
try {
57+
String uploadId = initMultipartUploadDemo();
58+
List<PartETag> partETags = uploadPartDemo(uploadId);
59+
completePartDemo(uploadId, partETags);
60+
} catch (CosServiceException cse) {
61+
throw cse;
62+
} catch (CosClientException cce) {
63+
throw cce;
64+
}
65+
}
66+
67+
private static void multipartUploadCopyDemo() {
68+
try {
69+
String uploadId = initMultipartUploadDemo();
70+
List<PartETag> partETags = copyPartUploadDemo(uploadId);
71+
completePartDemo(uploadId, partETags);
72+
} catch (CosServiceException cse) {
73+
throw cse;
74+
} catch (CosClientException cce) {
75+
throw cce;
76+
}
77+
}
78+
5579
private static COSClient createCli(String region) {
5680
// 1 初始化用户身份信息(secretId, secretKey)
5781
COSCredentials cred = new BasicCOSCredentials(secretId, secretKey);
@@ -174,7 +198,7 @@ private static void abortPartUploadDemo(String uploadId) {
174198
}
175199

176200
// 分块copy, 表示该块的数据来自另外一个文件的某一范围, 支持跨园区, 跨bucket copy
177-
private static void copyPartUploadDemo(String uploadId) {
201+
private static List<PartETag> copyPartUploadDemo(String uploadId) {
178202
CopyPartRequest copyPartRequest = new CopyPartRequest();
179203
// 要拷贝的源文件所在的region
180204
copyPartRequest.setSourceBucketRegion(new Region(region));
@@ -192,26 +216,18 @@ private static void copyPartUploadDemo(String uploadId) {
192216
copyPartRequest.setPartNumber(1);
193217
// uploadId
194218
copyPartRequest.setUploadId(uploadId);
219+
List<PartETag> partETags = new LinkedList<>();
195220
try {
196221
CopyPartResult copyPartResult = cosClient.copyPart(copyPartRequest);
197222
PartETag partETag = copyPartResult.getPartETag();
223+
partETags.add(partETag);
198224
System.out.println("succeed to copy part, partNum:" + copyPartRequest.getPartNumber());
199225
} catch (CosServiceException e) {
200226
e.printStackTrace();
201227
} catch (CosClientException e) {
202228
e.printStackTrace();
203229
}
204-
}
205230

206-
private static void multipartUploadDemo() {
207-
try {
208-
String uploadId = initMultipartUploadDemo();
209-
List<PartETag> partETags = uploadPartDemo(uploadId);
210-
completePartDemo(uploadId, partETags);
211-
} catch (CosServiceException cse) {
212-
throw cse;
213-
} catch (CosClientException cce) {
214-
throw cce;
215-
}
231+
return partETags;
216232
}
217233
}

0 commit comments

Comments
 (0)