|
|
@@ -1,6 +1,10 @@
|
|
|
package com.izouma.wenlvju.service.storage;
|
|
|
|
|
|
+import com.aliyun.oss.OSS;
|
|
|
import com.aliyun.oss.OSSClient;
|
|
|
+import com.aliyun.oss.OSSClientBuilder;
|
|
|
+import com.aliyun.oss.model.CopyObjectRequest;
|
|
|
+import com.aliyun.oss.model.CopyObjectResult;
|
|
|
import com.aliyun.oss.model.ObjectMetadata;
|
|
|
import com.izouma.wenlvju.exception.BusinessException;
|
|
|
import lombok.Data;
|
|
|
@@ -67,4 +71,30 @@ public class AliStorageService implements StorageService {
|
|
|
return ossDomain + "/" + path;
|
|
|
}
|
|
|
|
|
|
+ public void rename(String sourceKey, String destinationKey) {
|
|
|
+ // 填写源Object的完整路径。Object完整路径中不能包含Bucket名称。
|
|
|
+// String sourceKey = "application.txt";
|
|
|
+
|
|
|
+ // 填写目标Object的完整路径。Object完整路径中不能包含Bucket名称。
|
|
|
+// String destinationKey = sourceKey;
|
|
|
+
|
|
|
+ // 创建OSSClient实例。
|
|
|
+ OSS ossClient = new OSSClientBuilder().build(ossEndPoint, accessKeyId, accessKeySecret);
|
|
|
+
|
|
|
+ // 创建CopyObjectRequest对象。
|
|
|
+ CopyObjectRequest copyObjectRequest = new CopyObjectRequest(ossBucketName, sourceKey, ossBucketName, destinationKey);
|
|
|
+
|
|
|
+ // 设置新的文件元信息。
|
|
|
+ ObjectMetadata meta = new ObjectMetadata();
|
|
|
+// meta.setContentType("text/txt");
|
|
|
+ copyObjectRequest.setNewObjectMetadata(meta);
|
|
|
+
|
|
|
+ // 复制文件。
|
|
|
+ CopyObjectResult result = ossClient.copyObject(copyObjectRequest);
|
|
|
+ System.out.println("ETag: " + result.getETag() + " LastModified: " + result.getLastModified());
|
|
|
+
|
|
|
+ // 关闭OSSClient。
|
|
|
+ ossClient.shutdown();
|
|
|
+ }
|
|
|
+
|
|
|
}
|