@@ -33,24 +33,25 @@ public class AbortMultiPartsUpload {
33
33
private String uploadId ;
34
34
35
35
public static class ServerCredentialProvider extends BasicLifecycleCredentialProvider {
36
-
36
+
37
37
@ Override
38
38
protected QCloudLifecycleCredentials fetchNewCredentials () throws QCloudClientException {
39
-
39
+
40
40
// 首先从您的临时密钥服务器获取包含了密钥信息的响应
41
-
41
+
42
42
// 然后解析响应,获取密钥信息
43
43
String tmpSecretId = "临时密钥 secretId" ;
44
44
String tmpSecretKey = "临时密钥 secretKey" ;
45
45
String sessionToken = "临时密钥 TOKEN" ;
46
46
long expiredTime = 1556183496L ;//临时密钥有效截止时间戳,单位是秒
47
-
47
+
48
48
/*强烈建议返回服务器时间作为签名的开始时间,用来避免由于用户手机本地时间偏差过大导致的签名不正确 */
49
49
// 返回服务器时间作为签名的起始时间
50
50
long startTime = 1556182000L ; //临时密钥有效起始时间,单位是秒
51
-
51
+
52
52
// 最后返回临时密钥信息对象
53
- return new SessionQCloudCredentials (tmpSecretId , tmpSecretKey , sessionToken , startTime , expiredTime );
53
+ return new SessionQCloudCredentials (tmpSecretId , tmpSecretKey ,
54
+ sessionToken , startTime , expiredTime );
54
55
}
55
56
}
56
57
@@ -61,17 +62,21 @@ private void initMultiUpload() {
61
62
//.cssg-snippet-body-start:[init-multi-upload]
62
63
String bucket = "examplebucket-1250000000" ; //格式:BucketName-APPID
63
64
String cosPath = "exampleobject" ; //对象在存储桶中的位置标识符,即对象键。
64
-
65
- InitMultipartUploadRequest initMultipartUploadRequest = new InitMultipartUploadRequest (bucket ,
65
+
66
+ InitMultipartUploadRequest initMultipartUploadRequest =
67
+ new InitMultipartUploadRequest (bucket ,
66
68
cosPath );
67
- cosXmlService .initMultipartUploadAsync (initMultipartUploadRequest , new CosXmlResultListener () {
69
+ cosXmlService .initMultipartUploadAsync (initMultipartUploadRequest ,
70
+ new CosXmlResultListener () {
68
71
@ Override
69
72
public void onSuccess (CosXmlRequest cosXmlRequest , CosXmlResult result ) {
70
- uploadId = ((InitMultipartUploadResult ) result ).initMultipartUpload .uploadId ;
73
+ uploadId = ((InitMultipartUploadResult ) result )
74
+ .initMultipartUpload .uploadId ;
71
75
}
72
-
76
+
73
77
@ Override
74
- public void onFail (CosXmlRequest cosXmlRequest , CosXmlClientException clientException ,
78
+ public void onFail (CosXmlRequest cosXmlRequest ,
79
+ CosXmlClientException clientException ,
75
80
CosXmlServiceException serviceException ) {
76
81
if (clientException != null ) {
77
82
clientException .printStackTrace ();
@@ -82,24 +87,29 @@ public void onFail(CosXmlRequest cosXmlRequest, CosXmlClientException clientExce
82
87
});
83
88
//.cssg-snippet-body-end
84
89
}
90
+
85
91
/**
86
92
* 终止分片上传任务
87
93
*/
88
94
private void abortMultiUpload () {
89
95
//.cssg-snippet-body-start:[abort-multi-upload]
90
96
String bucket = "examplebucket-1250000000" ; //格式:BucketName-APPID
91
97
String cosPath = "exampleobject" ; //对象在存储桶中的位置标识符,即对象键。
92
-
93
- AbortMultiUploadRequest abortMultiUploadRequest = new AbortMultiUploadRequest (bucket ,
98
+
99
+ AbortMultiUploadRequest abortMultiUploadRequest =
100
+ new AbortMultiUploadRequest (bucket ,
94
101
cosPath , uploadId );
95
- cosXmlService .abortMultiUploadAsync (abortMultiUploadRequest , new CosXmlResultListener () {
102
+ cosXmlService .abortMultiUploadAsync (abortMultiUploadRequest ,
103
+ new CosXmlResultListener () {
96
104
@ Override
97
105
public void onSuccess (CosXmlRequest cosXmlRequest , CosXmlResult result ) {
98
- AbortMultiUploadResult abortMultiUploadResult = (AbortMultiUploadResult ) result ;
106
+ AbortMultiUploadResult abortMultiUploadResult =
107
+ (AbortMultiUploadResult ) result ;
99
108
}
100
-
109
+
101
110
@ Override
102
- public void onFail (CosXmlRequest cosXmlRequest , CosXmlClientException clientException ,
111
+ public void onFail (CosXmlRequest cosXmlRequest ,
112
+ CosXmlClientException clientException ,
103
113
CosXmlServiceException serviceException ) {
104
114
if (clientException != null ) {
105
115
clientException .printStackTrace ();
@@ -113,14 +123,15 @@ public void onFail(CosXmlRequest cosXmlRequest, CosXmlClientException clientExce
113
123
114
124
private void initService () {
115
125
String region = "ap-guangzhou" ;
116
-
126
+
117
127
CosXmlServiceConfig serviceConfig = new CosXmlServiceConfig .Builder ()
118
128
.setRegion (region )
119
129
.isHttps (true ) // 使用 HTTPS 请求,默认为 HTTP 请求
120
130
.builder ();
121
-
131
+
122
132
context = InstrumentationRegistry .getInstrumentation ().getTargetContext ();
123
- cosXmlService = new CosXmlService (context , serviceConfig , new ServerCredentialProvider ());
133
+ cosXmlService = new CosXmlService (context , serviceConfig ,
134
+ new ServerCredentialProvider ());
124
135
}
125
136
126
137
@ Test
@@ -129,9 +140,9 @@ public void testAbortMultiPartsUpload() {
129
140
130
141
// 初始化分片上传
131
142
initMultiUpload ();
132
-
143
+
133
144
// 终止分片上传任务
134
145
abortMultiUpload ();
135
-
146
+
136
147
}
137
148
}
0 commit comments