|
8 | 8 | - ~~[Ver 1.0.0](https://github.com/ufilesdk-dev/ufile-javasdk)~~ 不建议使用 |
9 | 9 |
|
10 | 10 | ## 环境要求 |
11 | | -- Java 1.8或以上 |
| 11 | +- 开发环境: Java 1.8或以上 |
| 12 | +- 运行环境: 可向下兼容至 Java 1.7, 详情请查看**`兼容Java 1.7`** |
12 | 13 |
|
| 14 | +## API Doc |
| 15 | + |
| 16 | +- **[ufile-client-java ](https://github.com/ucloud/ufile-sdk-java/tree/master/ufile/ufile-client-java/apidocs.zip)** |
| 17 | + - **[ufile-core ](https://github.com/ucloud/ufile-sdk-java/tree/master/ufile/ufile-core/apidocs.zip)** |
| 18 | + |
13 | 19 | ## 安装 |
14 | 20 | - Maven |
15 | 21 |
|
|
19 | 25 | <dependency> |
20 | 26 | <groupId>cn.ucloud.ufile</groupId> |
21 | 27 | <artifactId>ufile-client-java</artifactId> |
22 | | - <version>2.0.6</version> |
| 28 | + <version>2.1.0</version> |
23 | 29 | </dependency> |
24 | 30 | ``` |
25 | 31 |
|
|
30 | 36 | /* |
31 | 37 | * your other dependencies |
32 | 38 | */ |
33 | | - implementation 'cn.ucloud.ufile:ufile-client-java:2.0.6' |
| 39 | + implementation 'cn.ucloud.ufile:ufile-client-java:2.1.0' |
34 | 40 | } |
35 | 41 | ``` |
36 | 42 |
|
@@ -209,6 +215,66 @@ UfileClient.object(OBJECT_AUTHORIZER, config) |
209 | 215 | }); |
210 | 216 | ``` |
211 | 217 |
|
| 218 | +## 兼容Java 1.7 |
| 219 | +> 由于默认版本基于Java 1.8开发,SDK内部使用到的Base64都来自于Java 1.8提供的Base64模块。 |
| 220 | + |
| 221 | +- 若您的项目实际运行环境为Java 1.7,那么请注意一下几个API的使用: |
| 222 | + - UfileSigner: |
| 223 | + 在您使用BucketLocalAuthorization或ObjectLocalAuthorization及其子类的时候,请使用参数为: `(String publicKey, String privateKey, Signer signer)` 的构造方法。其中Signer接口的实例可使用`UfileSigner`,并使用参数为 `(Base64StdEncoderCompat base64)`的构造方法 |
| 224 | + |
| 225 | + ``` java |
| 226 | + public abstract class BucketLocalAuthorization extends BucketAuthorization { |
| 227 | + /** |
| 228 | + * 构造方法 (若您的运行环境在Java 1.8以下,请使用该方法) |
| 229 | + * |
| 230 | + * @param publicKey 用户公钥 |
| 231 | + * @param privateKey 用户私钥 |
| 232 | + * @param signer 签名器 {@link Signer} |
| 233 | + */ |
| 234 | + protected BucketLocalAuthorization(String publicKey, String privateKey, Signer signer) { |
| 235 | + super(publicKey); |
| 236 | + this.privateKey = privateKey; |
| 237 | + this.signer = signer; |
| 238 | + } |
| 239 | + } |
| 240 | + ``` |
| 241 | + |
| 242 | + ``` java |
| 243 | + public final class UfileSigner implements Signer { |
| 244 | + /** |
| 245 | + * 构造方法 (若您的运行环境在Java 1.8以下,请使用该方法) |
| 246 | + * |
| 247 | + * @param base64 兼容Java 1.8以下的Base64 标准编码器接口 |
| 248 | + */ |
| 249 | + public UfileSigner(Base64StdEncoderCompat base64) { |
| 250 | + this.base64 = base64; |
| 251 | + } |
| 252 | + } |
| 253 | + ``` |
| 254 | + |
| 255 | + - Etag: |
| 256 | + 所有的和Etag值计算相关的方法和类,在使用时请选用带有`Base64UrlEncoderCompat`参数的方法。并且与其相关的以下API: |
| 257 | + |
| 258 | + - DownloadFileApi |
| 259 | + - UploadFileHitApi |
| 260 | + - UploadStreamHitApi |
| 261 | + |
| 262 | + 请配置以下参数: |
| 263 | + ``` java |
| 264 | + /** |
| 265 | + * 配置Base64 Url编码器,不调用该方法将会默认使用Java 1.8的Base64类 |
| 266 | + * (若您的运行环境在Java 1.8以下,请使用该方法) |
| 267 | + * |
| 268 | + * @param base64 兼容Java 1.8以下的Base64 Url编码器接口 |
| 269 | + * @return {@link UploadStreamHitApi} |
| 270 | + */ |
| 271 | + public Object withBase64UrlEncoder(Base64UrlEncoderCompat base64) { |
| 272 | + this.base64 = base64; |
| 273 | + return this; |
| 274 | + } |
| 275 | + ``` |
| 276 | + |
| 277 | + |
212 | 278 | ## License |
213 | 279 | [Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0.html) |
214 | 280 |
|
|
0 commit comments