最近更新时间:2025-09-29 18:51:40
public void putObjectFetch() {
// 初始化 Ks3Client,参见“初始化”文档
Ks3Client ks3Client = initKs3Client();
try {
// 设置 bucket、文件名以及源文件地址
PutObjectFetchRequest request = new PutObjectFetchRequest("<your-bucket>", "<object-key>", "<source-url>");
// 设置 ACL
request.setCannedAcl(CannedAccessControlList.Private);
// base64 加密 MD5 信息,128位,用于对象完整性校验
request.setMd5Base64("<source-file-md5>");
// 设置文件的元数据
ObjectMetadata metadata = new ObjectMetadata();
metadata.setContentType("image/jpeg");
metadata.setUserMeta("key1", "value1");
request.setObjectMeta(metadata);
// 设置对象标签,1.4.0 及之后版本支持
ObjectTagging objectTagging = new ObjectTagging();
objectTagging.addObjectTag("key1", "value1");
objectTagging.addObjectTag("key2", "value2");
// 设置对象标签,1.4.0 之前。如果 key、value 中包含特殊字符,需进行 url encode
metadata.getRawMetadata().put(HttpHeaders.XKssTagging.toString(), "key1=value1&key2=value2");
request.setObjectTagging(objectTagging);
// 设置回调,fetchObject是异步操作,不会马上感知是否成功,需要指定上传成功或失败时的回调URL
request.setCallbackUrl("<callback-url>");
Ks3Result result = ks3Client.putObjectFetch(request);
System.out.println("Request id: " + result.getRequestId());
} catch (Ks3ServiceException e) {
System.out.println("Ks3ServiceException occurred, which means the request was made to KS3, but KS3 returned an error response for some reason.");
System.out.println("Error Message: " + e.getErrorMessage());
System.out.println("Error Code: " + e.getErrorCode());
System.out.println("Request ID: " + e.getRequestId());
} catch (Ks3ClientException e) {
System.out.println("Ks3ClientException occurred, which means the client encountered an internal error while trying to communicate with KS3.");
System.out.println("Error Message: " + e.getMessage());
} finally {
// 不再使用时,关闭 Ks3Client
ks3Client.shutdown();
}
}
纯净模式
