发表于: 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上传文件。



返回列表 返回列表
评论

    分享到