package demo;
import java.io.File; import java.util.List;
import com.qcloud.cos.COSClient; import com.qcloud.cos.ClientConfig; import com.qcloud.cos.auth.BasicCOSCredentials; import com.qcloud.cos.auth.COSCredentials; import com.qcloud.cos.exception.CosClientException; import com.qcloud.cos.exception.CosServiceException; import com.qcloud.cos.model.Bucket; import com.qcloud.cos.model.COSObjectSummary; import com.qcloud.cos.model.CannedAccessControlList; import com.qcloud.cos.model.CreateBucketRequest; import com.qcloud.cos.model.GetObjectRequest; import com.qcloud.cos.model.ListObjectsRequest; import com.qcloud.cos.model.ObjectListing; import com.qcloud.cos.model.ObjectMetadata; import com.qcloud.cos.model.PutObjectRequest; import com.qcloud.cos.model.PutObjectResult; import com.qcloud.cos.region.Region;
public class Demo01 {
private COSClient client; public Demo01(){ if(client!=null) { client.shutdown(); } String secretId = "your_id"; String secretKey = "your_key"; COSCredentials cred = new BasicCOSCredentials(secretId, secretKey); Region region = new Region("ap-chengdu"); ClientConfig clientConfig = new ClientConfig(region); // 3 生成 cos 客户端。 client = new COSClient(cred, clientConfig); } public List<Bucket> listBuckets() { return client.listBuckets(); } public void listObject() { try { String bucket = "websource01-"; ListObjectsRequest listObjectsRequest = new ListObjectsRequest(); // 设置 bucket 名称 listObjectsRequest.setBucketName(bucket); // prefix 表示列出的 object 的 key 以 prefix 开始 listObjectsRequest.setPrefix(""); // 设置最大遍历出多少个对象, 一次 listobject 最大支持1000 listObjectsRequest.setMaxKeys(1000); listObjectsRequest.setDelimiter("/"); ObjectListing objectListing = client.listObjects(listObjectsRequest); for (COSObjectSummary cosObjectSummary : objectListing.getObjectSummaries()) { // 对象的路径 key String key = cosObjectSummary.getKey(); // 对象的 etag String etag = cosObjectSummary.getETag(); // 对象的长度 long fileSize = cosObjectSummary.getSize(); // 对象的存储类型 String storageClass = cosObjectSummary.getStorageClass(); System.out.println("key:" + key + "; etag:" + etag + "; fileSize:" + fileSize + "; storageClass:" + storageClass); } } catch (CosServiceException serverException) { serverException.printStackTrace(); } catch (CosClientException clientException) { clientException.printStackTrace(); } } public void uploadFile() { try { // 指定要上传的文件 File localFile = new File("D:\Chrome Download\test.txt"); // 指定要上传到的存储桶 String bucketName = "websource01-"; // 指定要上传到 COS 上对象键 String key = "dwqeqweqwe"; PutObjectRequest putObjectRequest = new PutObjectRequest(bucketName, key, localFile); PutObjectResult putObjectResult = client.putObject(putObjectRequest); } catch (CosServiceException serverException) { serverException.printStackTrace(); } catch (CosClientException clientException) { clientException.printStackTrace(); } } public void downloadFile() { try{ // 指定对象所在的存储桶 String bucketName = "websource01-"; // 指定对象在 COS 上的对象键 String key = "dwqeqweqwe"; // 指定要下载到的本地路径 File downFile = new File("D:\dwqeqweqwe.txt"); GetObjectRequest getObjectRequest = new GetObjectRequest(bucketName, key); ObjectMetadata downObjectMeta = client.getObject(getObjectRequest, downFile); } catch (CosServiceException serverException) { serverException.printStackTrace(); } catch (CosClientException clientException) { clientException.printStackTrace(); } } public void createBucket(String name) { //String bucket = "examplebucket-"; //存储桶名称,格式:BucketName-APPID CreateBucketRequest createBucketRequest = new CreateBucketRequest(name); // 设置 bucket 的权限为 PublicRead(公有读私有写), 其他可选有私有读写, 公有读写 createBucketRequest.setCannedAcl(CannedAccessControlList.PublicRead); try{ Bucket bucketResult = client.createBucket(createBucketRequest); } catch (CosServiceException serverException) { System.out.println(1); serverException.printStackTrace(); } catch (CosClientException clientException) { System.out.println(2); clientException.printStackTrace(); } } public static void main(String[] args) { Demo01 demo=new Demo01(); //System.out.println(demo.listBuckets()); //demo.createBucket("testbucket01-"); //demo.uploadFile(); demo.listObject(); }
讯享网
}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/202096.html