发表于: 2020-09-04 23:26:17
1 2186
今日完成:
阿里云oss迁移到腾讯云cos.
/**
* 迁移方法
*/
public void ossToCos(String localPath) {
/**
* 腾讯云信息
*/
String secretId = tencentAccessKeId;
String secretKey =tencentAccessKeySecret;
COSCredentials cred = new BasicCOSCredentials(secretId, secretKey);
Region region = new Region("ap-shenzhen-fsi");
ClientConfig clientConfig = new ClientConfig(region);
COSClient cosClient = new COSClient(cred, clientConfig);
/**
* 阿里云信息
*/
OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
//构造ListObjectRequest请求
ListObjectsRequest listObjectsRequest = new ListObjectsRequest(bucketName);
//设置为“/"时,罗列该文件夹下所有的文件
listObjectsRequest.setDelimiter("/");
listObjectsRequest.setPrefix("data/");
ObjectListing listing = ossClient.listObjects(listObjectsRequest);
//遍历该文件夹下的所有文件
for (OSSObjectSummary ossObjectSummary : listing.getObjectSummaries()) {
String key = ossObjectSummary.getKey();
//判断文件所在本地路径是否存在,若无,则创建目录
File file = new File(localPath + key);
File fileParent = file.getParentFile();
if (!fileParent.exists()) {
fileParent.mkdirs();
}
// 下载Object到文件
ossClient.getObject(new GetObjectRequest(bucketName, key), file);
// 指定要上传到的存储桶
String bucketName = tencentBucketName;
// 指定要上传到 COS 上对象键
com.qcloud.cos.model.PutObjectRequest putObjectRequest = new com.qcloud.cos.model.PutObjectRequest(bucketName, key, file);
com.qcloud.cos.model.PutObjectResult putObjectResult = cosClient.putObject(putObjectRequest);
System.out.println("路径=======" + file.getAbsoluteFile());
System.out.println("key======" + key);
}
ossClient.shutdown();
cosClient.shutdown();
}
测试结果
明天的计划:
短信和邮箱的防盗链。
深度思考。
遇到的问题:null
收获:腾讯cos上传文件。
评论