|
@@ -26,11 +26,7 @@ public class QcloudFileUtils {
|
|
|
|
|
|
private static final Logger logger = LoggerFactory.getLogger(QcloudFileUtils.class);
|
|
private static final Logger logger = LoggerFactory.getLogger(QcloudFileUtils.class);
|
|
|
|
|
|
- static COSClient cosClient = createCli();
|
|
|
|
-
|
|
|
|
- static COSClient createCli() {
|
|
|
|
- return createCli("ap-shanghai");
|
|
|
|
- }
|
|
|
|
|
|
+ private static COSClient cosClient;
|
|
|
|
|
|
private static String accessKey;
|
|
private static String accessKey;
|
|
|
|
|
|
@@ -53,9 +49,16 @@ public class QcloudFileUtils {
|
|
region = regionParam;
|
|
region = regionParam;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ public static COSClient getCosClient() {
|
|
|
|
+ if (null == cosClient) {
|
|
|
|
+ cosClient = createCli(region);
|
|
|
|
+ }
|
|
|
|
+ return cosClient;
|
|
|
|
+ }
|
|
|
|
+
|
|
static COSClient createCli(String region) {
|
|
static COSClient createCli(String region) {
|
|
// 初始化用户身份信息(secretId, secretKey)
|
|
// 初始化用户身份信息(secretId, secretKey)
|
|
- COSCredentials cred = new BasicCOSCredentials("AKIDDF4dwzlGVTAmCMGvLVP4UfbHiuqVzFEw", "TgbFcjZ8HDse9ToujIabLo1yf5YqtfBX");
|
|
|
|
|
|
+ COSCredentials cred = new BasicCOSCredentials(accessKey, secretKey);
|
|
// 设置bucket的区域, COS地域的简称请参照 https://www.qcloud.com/document/product/436/6224
|
|
// 设置bucket的区域, COS地域的简称请参照 https://www.qcloud.com/document/product/436/6224
|
|
ClientConfig clientConfig = new ClientConfig(new Region(region));
|
|
ClientConfig clientConfig = new ClientConfig(new Region(region));
|
|
// 生成cos客户端
|
|
// 生成cos客户端
|
|
@@ -70,7 +73,7 @@ public class QcloudFileUtils {
|
|
PutObjectRequest putObjectRequest = new PutObjectRequest(bucketName, key, file);
|
|
PutObjectRequest putObjectRequest = new PutObjectRequest(bucketName, key, file);
|
|
putObjectRequest.withMetadata(objectMetadata);
|
|
putObjectRequest.withMetadata(objectMetadata);
|
|
|
|
|
|
- PutObjectResult putObjectResult = cosClient.putObject(putObjectRequest);
|
|
|
|
|
|
+ PutObjectResult putObjectResult = getCosClient().putObject(putObjectRequest);
|
|
|
|
|
|
LogUtil.info(logger, "put file reqId: " + putObjectResult.getRequestId());
|
|
LogUtil.info(logger, "put file reqId: " + putObjectResult.getRequestId());
|
|
}
|
|
}
|
|
@@ -84,7 +87,7 @@ public class QcloudFileUtils {
|
|
PutObjectRequest putObjectRequest = new PutObjectRequest(bucketName, key, stream, objectMetadata);
|
|
PutObjectRequest putObjectRequest = new PutObjectRequest(bucketName, key, stream, objectMetadata);
|
|
// putObjectRequest.withMetadata(objectMetadata);
|
|
// putObjectRequest.withMetadata(objectMetadata);
|
|
|
|
|
|
- PutObjectResult putObjectResult = cosClient.putObject(putObjectRequest);
|
|
|
|
|
|
+ PutObjectResult putObjectResult = getCosClient().putObject(putObjectRequest);
|
|
|
|
|
|
LogUtil.info(logger, "put file reqId: " + putObjectResult.getRequestId());
|
|
LogUtil.info(logger, "put file reqId: " + putObjectResult.getRequestId());
|
|
|
|
|
|
@@ -113,7 +116,7 @@ public class QcloudFileUtils {
|
|
public static void downloadFile(String key, String bucketName, String localDir, String saveName) {
|
|
public static void downloadFile(String key, String bucketName, String localDir, String saveName) {
|
|
GetObjectRequest getObjectRequest = new GetObjectRequest(bucketName, key);
|
|
GetObjectRequest getObjectRequest = new GetObjectRequest(bucketName, key);
|
|
File localFile = new File(localDir + saveName);
|
|
File localFile = new File(localDir + saveName);
|
|
- ObjectMetadata objectMetadata = cosClient.getObject(getObjectRequest, localFile);
|
|
|
|
|
|
+ ObjectMetadata objectMetadata = getCosClient().getObject(getObjectRequest, localFile);
|
|
|
|
|
|
LogUtil.info(logger, "download file content length:" + objectMetadata.getContentLength());
|
|
LogUtil.info(logger, "download file content length:" + objectMetadata.getContentLength());
|
|
}
|
|
}
|