@@ -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