コード例 #1
0
        private void SimpleCopy()
        {
            copyObjectRequest = new CopyObjectRequest(bucket, key);
            copyObjectRequest.SetCopyMetaDataDirective(Common.CosMetaDataDirective.Copy);
            copyObjectRequest.SetCopySource(copySource);
            cosXmlServer.CopyObject(copyObjectRequest,
                                    delegate(CosResult cosResult)
            {
                lock (syncExit)
                {
                    if (isExit)
                    {
                        if (taskState == TaskState.Cancel)
                        {
                            DeleteObject();
                        }

                        return;
                    }
                }

                if (UpdateTaskState(TaskState.Completed))
                {
                    CopyObjectResult result       = cosResult as CopyObjectResult;
                    CopyTaskResult copyTaskResult = new CopyTaskResult();

                    copyTaskResult.SetResult(result);

                    if (successCallback != null)
                    {
                        successCallback(copyTaskResult);
                    }
                }
            },

                                    delegate(CosClientException clientEx, CosServerException serverEx)
            {
                lock (syncExit)
                {
                    if (isExit)
                    {
                        return;
                    }
                }

                if (UpdateTaskState(TaskState.Failed))
                {
                    if (failCallback != null)
                    {
                        failCallback(clientEx, serverEx);
                    }
                }
            }
                                    );
        }
コード例 #2
0
 public void OnCompleted(CompleteMultipartUploadResult result)
 {
     uploadId = null;
     //lock (syncExit)
     //{
     //    isExit = true;
     //}
     //success
     if (successCallback != null)
     {
         CopyTaskResult copyTaskResult = new CopyTaskResult();
         copyTaskResult.SetResult(result);
         successCallback(copyTaskResult);
     }
 }
コード例 #3
0
 private void SimpleCopy()
 {
     copyObjectRequest = new CopyObjectRequest(bucket, key);
     copyObjectRequest.SetCopyMetaDataDirective(Common.CosMetaDataDirective.COPY);
     copyObjectRequest.SetSign(TimeUtils.GetCurrentTime(TimeUnit.SECONDS), 600);
     copyObjectRequest.SetCopySource(copySource);
     cosXmlServer.CopyObject(copyObjectRequest, delegate(CosResult cosResult)
     {
         lock (syncExit)
         {
             if (isExit)
             {
                 if (taskState == TaskState.CANCEL)
                 {
                     DeleteObject();
                 }
                 return;
             }
         }
         if (UpdateTaskState(TaskState.COMPLETED))
         {
             CopyObjectResult result       = cosResult as CopyObjectResult;
             CopyTaskResult copyTaskResult = new CopyTaskResult();
             copyTaskResult.SetResult(result);
             if (successCallback != null)
             {
                 successCallback(copyTaskResult);
             }
         }
     },
                             delegate(CosClientException clientEx, CosServerException serverEx)
     {
         lock (syncExit)
         {
             if (isExit)
             {
                 return;
             }
         }
         if (UpdateTaskState(TaskState.FAILED))
         {
             if (failCallback != null)
             {
                 failCallback(clientEx, serverEx);
             }
         }
     });
 }