示例#1
0
        /// 设置存储桶 ACL
        public void PutBucketAcl()
        {
            //.cssg-snippet-body-start:[put-bucket-acl]
            try
            {
                string bucket = "examplebucket-1250000000"; //格式:BucketName-APPID
                PutBucketACLRequest request = new PutBucketACLRequest(bucket);
                //设置私有读写权限
                request.SetCosACL(CosACL.PRIVATE);
                //授予1131975903账号读权限
                COSXML.Model.Tag.GrantAccount readAccount = new COSXML.Model.Tag.GrantAccount();
                readAccount.AddGrantAccount("1131975903", "1131975903");
                request.SetXCosGrantRead(readAccount);
                //执行请求
                PutBucketACLResult result = cosXml.PutBucketACL(request);
                //请求成功
                Console.WriteLine(result.GetResultInfo());
            }
            catch (COSXML.CosException.CosClientException clientEx)
            {
                //请求失败
                Console.WriteLine("CosClientException: " + clientEx);
            }
            catch (COSXML.CosException.CosServerException serverEx)
            {
                //请求失败
                Console.WriteLine("CosServerException: " + serverEx.GetInfo());
            }

            //.cssg-snippet-body-end
        }
示例#2
0
        public Task <bool> SetBucketAclAsync(string bucketName, AccessMode mode)
        {
            if (string.IsNullOrEmpty(bucketName))
            {
                throw new ArgumentNullException(nameof(bucketName));
            }
            bucketName = ConvertBucketName(bucketName);
            var acl = mode switch
            {
                AccessMode.Default => CosACL.Private,
                AccessMode.Private => CosACL.Private,
                AccessMode.PublicRead => CosACL.PublicRead,
                AccessMode.PublicReadWrite => CosACL.PublicReadWrite,
                _ => CosACL.Private,
            };
            PutBucketACLRequest request = new PutBucketACLRequest(bucketName);

            //设置私有读写权限
            request.SetCosACL(acl);
            //执行请求
            PutBucketACLResult result = _client.PutBucketACL(request);

            return(Task.FromResult(result.IsSuccessful()));
        }