예제 #1
0
        /// <inheritdoc/>
        public IAsyncResult BeginCopyObject(CopyObjectRequest copyObjectRequst, AsyncCallback callback, Object state)
        {
            var cmd = CopyObjectCommand.Create(GetServiceClient(), _endpoint,
                                               CreateContext(HttpMethod.Put, copyObjectRequst.DestinationBucketName, copyObjectRequst.DestinationKey),
                                               copyObjectRequst);

            return(OssUtils.BeginOperationHelper(cmd, callback, state));
        }
예제 #2
0
        /// <summary>
        /// 复制对象
        /// </summary>
        /// <param name="bucket"></param>
        /// <param name="srcKey"></param>
        /// <param name="targetBucket"></param>
        /// <param name="targetKey"></param>
        /// <param name="extraHeaders"></param>
        /// <returns></returns>
        public async Task <OssResult <CopyObjectResult> > CopyObjectAsync(BucketInfo bucket, string srcKey,
                                                                          BucketInfo targetBucket,
                                                                          string targetKey,
                                                                          IDictionary <string, string> extraHeaders = null)
        {
            var cmd = new CopyObjectCommand(_requestContext, targetBucket, targetKey, bucket, srcKey, extraHeaders);

            return(await cmd.ExecuteAsync());
        }
예제 #3
0
        /// <inheritdoc/>
        public CopyObjectResult CopyObject(CopyObjectRequest copyObjectRequst)
        {
            ThrowIfNullRequest(copyObjectRequst);
            var cmd = CopyObjectCommand.Create(GetServiceClient(), _endpoint,
                                               CreateContext(HttpMethod.Put, copyObjectRequst.DestinationBucketName, copyObjectRequst.DestinationKey),
                                               copyObjectRequst);

            return(cmd.Execute());
        }