Esempio n. 1
0
        public void Delete(string remotename)
        {
            try
            {
                cosXml = GetCosXml();
                string bucket = _cosOptions.Bucket;
                string key    = GetFullKey(remotename);

                DeleteObjectRequest request = new DeleteObjectRequest(bucket, key);

                request.SetSign(TimeUtils.GetCurrentTime(TimeUnit.SECONDS), 600);

                DeleteObjectResult result = cosXml.DeleteObject(request);
            }
            catch (COSXML.CosException.CosClientException clientEx)
            {
                Logging.Log.WriteErrorMessage(LOGTAG, "Delete", clientEx, "Delete failed: {0}", remotename);
                throw;
            }
            catch (COSXML.CosException.CosServerException serverEx)
            {
                Logging.Log.WriteErrorMessage(LOGTAG, "Delete", serverEx, "Delete failed: {0}, {1}", remotename, serverEx.GetInfo());
                throw;
            }
        }
Esempio n. 2
0
        /// <summary>
        /// 删除单个对象
        /// </summary>
        /// <param name="key">对象在存储桶中的位置,即称对象键(也可以理解为在存储桶路径)</param>
        /// <param name="bucketName">存储桶,格式:BucketName-APPID</param>
        public static CosResultInfoResponseDto DeleteObject(string key, string bucketName = CosConfig.DEFAULT_BUCKET)
        {
            var cosXml   = InitializeCosConfig();
            var response = new CosResultInfoResponseDto();

            try
            {
                string bucket = $"{bucketName}-{AppId}"; //存储桶,格式:BucketName-APPID";
                DeleteObjectRequest request = new DeleteObjectRequest(bucket, key);
                //设置签名有效时长
                request.SetSign(TimeUtils.GetCurrentTime(TimeUnit.SECONDS), 600);
                //执行请求
                DeleteObjectResult result = cosXml.DeleteObject(request);
                //请求成功
                response.statusCode    = result.httpCode;
                response.statusMessage = result.httpMessage;
                return(response);
            }
            catch (COSXML.CosException.CosClientException clientEx)
            {
                //请求失败
                response.statusCode    = clientEx.errorCode;
                response.statusMessage = clientEx.Message;
                response.info          = clientEx.ToJson();
                return(response);
            }
            catch (COSXML.CosException.CosServerException serverEx)
            {
                //请求失败
                response.statusCode    = serverEx.statusCode;
                response.statusMessage = serverEx.statusMessage;
                response.info          = serverEx.GetInfo();
                return(response);
            }
        }
Esempio n. 3
0
        public static void AsynDeleteObject(COSXML.CosXml cosXml, string bucket, string key)
        {
            DeleteObjectRequest request = new DeleteObjectRequest(bucket, key);

            //设置签名有效时长
            request.SetSign(TimeUtils.GetCurrentTime(TimeUnit.SECONDS), 600);

            //执行请求
            cosXml.DeleteObject(request, delegate(CosResult result)
            {
                DeleteObjectResult getObjectResult = result as DeleteObjectResult;
                Console.WriteLine(getObjectResult.GetResultInfo());
            }, delegate(CosClientException clientEx, CosServerException serverEx)
            {
                if (clientEx != null)
                {
                    QLog.D("XIAO", clientEx.Message);
                    Console.WriteLine("CosClientException: " + clientEx.StackTrace);
                }
                if (serverEx != null)
                {
                    QLog.D("XIAO", serverEx.Message);
                    Console.WriteLine("CosServerException: " + serverEx.GetInfo());
                }
            });
        }
Esempio n. 4
0
        public async Task <ResponseModel> DeleteObject(string buketName)
        {
            try
            {
                string bucket = _buketName + "-" + _appid; //存储桶名称 格式:BucketName-APPID
                string key    = "exampleobject";           //对象在存储桶中的位置,即称对象键.
                DeleteObjectRequest request = new DeleteObjectRequest(bucket, key);
                //设置签名有效时长
                request.SetSign(TimeUtils.GetCurrentTime(TimeUnit.SECONDS), 600);
                //执行请求
                DeleteObjectResult result = await Task.FromResult(_cosXml.DeleteObject(request));

                return(new ResponseModel {
                    Code = 200, Message = result.GetResultInfo()
                });
            }
            catch (CosClientException clientEx)
            {
                return(new ResponseModel {
                    Code = 0, Message = "CosClientException: " + clientEx.Message
                });
            }
            catch (CosServerException serverEx)
            {
                return(new ResponseModel {
                    Code = 0, Message = "CosServerException: " + serverEx.GetInfo()
                });
            }
        }
Esempio n. 5
0
        /// <summary>
        ///     删除对象
        /// </summary>
        /// <param name="containerName">容器(Bucket)的地址</param>
        /// <param name="blobName">文件名称</param>
        public async Task DeleteBlob(string containerName, string blobName)
        {
            var request = new DeleteObjectRequest(_tcConfig.BucketName, $"{containerName}/{blobName}");

            //设置签名有效时长
            request.SetSign(TimeUtils.GetCurrentTime(TimeUnit.SECONDS), 600);
            var response = _cosXmlServer.DeleteObject(request);
            await response.HandlerError("删除对象出错!");
        }
Esempio n. 6
0
        /// <summary>
        /// 删除图片
        /// </summary>
        /// <param name="fileKey">图片 key</param>
        /// <returns></returns>
        public async Task DelImage(string fileKey)
        {
            var cosService = await buildCosService(delImageCredential, fileKey);

            var request = new DeleteObjectRequest(getImageCredential.TmpCred.Bucket, fileKey);

            request.SetSign(TimeUtils.GetCurrentTime(TimeUnit.SECONDS), signValidSec);
            var result = cosService.DeleteObject(request);

            if (result.httpCode != 200)
            {
                throw new StorageException(result.httpMessage);
            }
            //logger.Trace(result.GetResultInfo());
        }
Esempio n. 7
0
        public static void DeleteObject(COSXML.CosXml cosXml, string bucket, string key)
        {
            try
            {
                DeleteObjectRequest request = new DeleteObjectRequest(bucket, key);
                //设置签名有效时长
                request.SetSign(TimeUtils.GetCurrentTime(TimeUnit.SECONDS), 600);

                //执行请求
                DeleteObjectResult result = cosXml.DeleteObject(request);

                Console.WriteLine(result.GetResultInfo());
            }
            catch (COSXML.CosException.CosClientException clientEx)
            {
                QLog.D("XIAO", clientEx.Message);
                Console.WriteLine("CosClientException: " + clientEx.StackTrace);
            }
            catch (COSXML.CosException.CosServerException serverEx)
            {
                QLog.D("XIAO", serverEx.Message);
                Console.WriteLine("CosServerException: " + serverEx.GetInfo());
            }
        }