@@ -69,71 +69,6 @@ compile 'com.tencent.qcloud:cosxml:5.5.+'
69
69
70
70
如果您无法采用远程依赖的方式,可以通过下载 [ 最新版本] ( https://github.com/tencentyun/qcloud-sdk-android/releases ) 的压缩包,解压后,手动集成到您的工程中。
71
71
72
- ## 通过 CDN 加速域名下载
73
-
74
- 1 . 初始化一个支持 CDN 加速域名下载的 TransferManager
75
-
76
- ```
77
- /**
78
- * 通过 cdn 域名下载,需要 1. 开启 cdn 回源鉴权;2. 开启 cdn 鉴权。详情请参考:
79
- * https://cloud.tencent.com/document/product/436/18669
80
- *
81
- *
82
- * </p>
83
- * 注意,这样创建的 TransferManager 只能用于指定存储桶的 cdn 加速域名下载,
84
- * 不能用于上传,也不能用于源站域名下载
85
- */
86
- public static TransferManager newCdnDownloadTransferManager() {
87
-
88
- /**
89
- * 假设您的 bucket 为 examplebucket-1250000000,地域为 ap-beijing
90
- */
91
- CosXmlServiceConfig cosXmlServiceConfig = new CosXmlServiceConfig.Builder()
92
- .isHttps(true)
93
- .setRegion("ap-beijing")
94
- .setDebuggable(false)
95
- .setHostFormat("${bucket}.file.myqcloud.com") // cdn 默认域名 host 格式
96
- .addHeader("Host", "examplebucket-1250000000.file.myqcloud.com") // 修改 header 中的 host 字段
97
- .builder();
98
-
99
- /**
100
- * 通过默认 cdn 域名下载,并开启回源鉴权后,需要使用 cdn 的权限校验,而不是 cos 的权限校验。
101
- * 因此,这里不提供 credentialProvider 类
102
- */
103
- CosXmlService cosXmlService = new CosXmlService(getContext(), cosXmlServiceConfig);
104
-
105
- TransferConfig transferConfig = new TransferConfig.Builder().build();
106
- return new TransferManager(cosXmlService, transferConfig);
107
- }
108
- ```
109
-
110
- 2 . 如果您开启了 cdn 鉴权,那么需要在 url 上添加 cdn 签名,cdn 鉴权请参考 [ 这里] ( https://cloud.tencent.com/document/product/228/41622 ) 。
111
-
112
- ```
113
- String bucket = "examplebucket-1250000000";
114
- String cosPath = "exampleobject";
115
- String srcPath = new File(context.getCacheDir(), "exampleobject")
116
- .toString(); //本地文件的绝对路径
117
- String cdnSign = "1595307148-ktug8jzwijjs5khj-0-953d8ac2a84af18e"; // cdn 鉴权参数,这里以 typeA 为例
118
-
119
- GetObjectRequest getObjectRequest = new GetObjectRequest(bucket, cosPath, srcPath);
120
-
121
- // 添加 cdn 鉴权信息
122
- Map<String, String> paras = new HashMap<>();
123
- paras.put("sign", cdnSign);
124
- getObjectRequest.setQueryParameters(paras);
125
-
126
- COSXMLDownloadTask downloadTask = transferManager.download(context, getObjectRequest);
127
-
128
- downloadTask.setCosXmlResultListener(new CosXmlResultListener() {
129
- @Override
130
- public void onSuccess(CosXmlRequest request, CosXmlResult result) {}
131
-
132
- @Override
133
- public void onFail(CosXmlRequest request, CosXmlClientException clientException, CosXmlServiceException serviceException) {}
134
-
135
- });
136
- ```
137
72
138
73
## 开发文档
139
74
0 commit comments