Example #1
0
        public void CopyObject()
        {
            try
            {
                CopySourceStruct copySource = new CopySourceStruct(QCloudServer.Instance().appid,
                                                                   bucket, QCloudServer.Instance().region, copykey);

                CopyObjectRequest request = new CopyObjectRequest(bucket, multiKey);

                //设置拷贝源
                request.SetCopySource(copySource);

                //设置是否拷贝还是更新
                request.SetCopyMetaDataDirective(COSXML.Common.CosMetaDataDirective.COPY);

                //执行请求
                CopyObjectResult result = cosXml.CopyObject(request);

                Console.WriteLine(result.GetResultInfo());
            }
            catch (COSXML.CosException.CosClientException clientEx)
            {
                Console.WriteLine("CosClientException: " + clientEx.StackTrace);
                Assert.True(false);
            }
            catch (COSXML.CosException.CosServerException serverEx)
            {
                Console.WriteLine("CosServerException: " + serverEx.GetInfo());
                Assert.True(false);
            }
        }
Example #2
0
        /// 高级接口拷贝对象
        public async void TransferCopyObject()
        {
            TransferConfig transferConfig = new TransferConfig();

            // 初始化 TransferManager
            TransferManager transferManager = new TransferManager(cosXml, transferConfig);

            //.cssg-snippet-body-start:[transfer-copy-object]
            string sourceAppid  = "1250000000";              //账号 appid
            string sourceBucket = "sourcebucket-1250000000"; //"源对象所在的存储桶
            string sourceRegion = "COS_REGION";              //源对象的存储桶所在的地域
            string sourceKey    = "sourceObject";            //源对象键
            //构造源对象属性
            CopySourceStruct copySource = new CopySourceStruct(sourceAppid, sourceBucket,
                                                               sourceRegion, sourceKey);

            string bucket = "examplebucket-1250000000"; //目标存储桶,格式:BucketName-APPID
            string key    = "exampleobject";            //目标对象的对象键

            COSXMLCopyTask copytask = new COSXMLCopyTask(bucket, key, copySource);

            try {
                COSXML.Transfer.COSXMLCopyTask.CopyTaskResult result = await
                                                                       transferManager.CopyAsync(copytask);

                Console.WriteLine(result.GetResultInfo());
                string eTag = result.eTag;
            } catch (Exception e) {
                Console.WriteLine("CosException: " + e);
            }

            //.cssg-snippet-body-end
        }
Example #3
0
        public static void Copy(string bucket, string key, CopySourceStruct copySource)
        {
            COSXMLCopyTask copyTask = new COSXMLCopyTask(bucket, null, key, copySource)
            {
                successCallback = delegate(CosResult cosResult)
                {
                    COSXML.Transfer.COSXMLCopyTask.CopyTaskResult result = cosResult as COSXML.Transfer.COSXMLCopyTask.CopyTaskResult;
                    QLog.D("XIAO", result.GetResultInfo());
                    Console.WriteLine(result.GetResultInfo());
                    Console.WriteLine(String.Format("currentThread id = {0}", Thread.CurrentThread.ManagedThreadId));
                },
                failCallback = 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());
                    }
                    Console.WriteLine(String.Format("currentThread id = {0}", Thread.CurrentThread.ManagedThreadId));
                }
            };

            transferManager.Copy(copyTask);
        }
        public async Task <bool> CopyObjectAsync(string bucketName, string objectName, string destBucketName, string destObjectName = null)
        {
            if (string.IsNullOrEmpty(bucketName))
            {
                throw new ArgumentNullException(nameof(bucketName));
            }
            if (string.IsNullOrEmpty(objectName))
            {
                throw new ArgumentNullException(nameof(objectName));
            }
            if (string.IsNullOrEmpty(destBucketName))
            {
                destBucketName = bucketName;
            }
            if (string.IsNullOrEmpty(destObjectName))
            {
                destObjectName = objectName;
            }
            bucketName = ConvertBucketName(bucketName);
            CopySourceStruct  copySource = new CopySourceStruct(Options.Endpoint, bucketName, Options.Region, objectName);
            string            bucket     = ConvertBucketName(destBucketName);
            CopyObjectRequest request    = new CopyObjectRequest(bucket, destObjectName);

            //设置拷贝源
            request.SetCopySource(copySource);
            //设置是否拷贝还是更新,此处是拷贝
            request.SetCopyMetaDataDirective(COSXML.Common.CosMetaDataDirective.Copy);
            //执行请求
            CopyObjectResult result = _client.CopyObject(request);

            return(await Task.FromResult(result.IsSuccessful()));
        }
Example #5
0
        public void PartCopyObject()
        {
            string           key        = commonKey;
            CopySourceStruct copySource = new CopySourceStruct(QCloudServer.Instance().appid,
                                                               bucket, QCloudServer.Instance().region, copykey);

            try
            {
                InitMultipartUploadRequest initMultipartUploadRequest = new InitMultipartUploadRequest(bucket, key);

                //执行请求
                InitMultipartUploadResult initMultipartUploadResult = cosXml.InitMultipartUpload(initMultipartUploadRequest);

                Console.WriteLine(initMultipartUploadResult.GetResultInfo());

                string uploadId = initMultipartUploadResult.initMultipartUpload.uploadId;

                int partNumber = 1;

                UploadPartCopyRequest uploadPartCopyRequest = new UploadPartCopyRequest(bucket, key, partNumber, uploadId);

                //设置拷贝源
                uploadPartCopyRequest.SetCopySource(copySource);

                //设置拷贝范围
                uploadPartCopyRequest.SetCopyRange(0, 10);

                //执行请求
                UploadPartCopyResult uploadPartCopyResult = cosXml.PartCopy(uploadPartCopyRequest);

                Console.WriteLine(uploadPartCopyResult.GetResultInfo());

                string eTag = uploadPartCopyResult.copyObject.eTag;

                CompleteMultipartUploadRequest completeMultiUploadRequest = new CompleteMultipartUploadRequest(bucket, key, uploadId);

                //设置已上传的parts
                completeMultiUploadRequest.SetPartNumberAndETag(partNumber, eTag);

                //执行请求
                CompleteMultipartUploadResult completeMultiUploadResult = cosXml.CompleteMultiUpload(completeMultiUploadRequest);

                Console.WriteLine(completeMultiUploadResult.GetResultInfo());
            }
            catch (COSXML.CosException.CosClientException clientEx)
            {
                Console.WriteLine("CosClientException: " + clientEx.Message);
                Assert.True(false);
            }
            catch (COSXML.CosException.CosServerException serverEx)
            {
                Console.WriteLine("CosServerException: " + serverEx.GetInfo());
                Assert.True(false);
            }
        }
Example #6
0
        public void TestCopySourceNotExisted()
        {
            COSXMLCopyTask copyTask = new COSXMLCopyTask(notExistBucket, "remote_key", null);

            Assert.ThrowsAsync <CosClientException>(async() => await transferManager.CopyAsync(copyTask));

            CopySourceStruct notExistSource = new CopySourceStruct(QCloudServer.Instance().appid,
                                                                   notExistBucket, QCloudServer.Instance().region, "example_key");

            COSXMLCopyTask copyTask2 = new COSXMLCopyTask(notExistBucket, "remote_key", notExistSource);

            Assert.ThrowsAsync <CosServerException>(async() => await transferManager.CopyAsync(copyTask2));
        }
        /// 高级接口拷贝对象
        public void TransferCopyObject()
        {
            TransferConfig transferConfig = new TransferConfig();

            // 初始化 TransferManager
            TransferManager transferManager = new TransferManager(cosXml, transferConfig);

            //.cssg-snippet-body-start:[transfer-copy-object]
            string sourceAppid  = "1250000000";              //账号 appid
            string sourceBucket = "sourcebucket-1250000000"; //"源对象所在的存储桶
            string sourceRegion = "COS_REGION";              //源对象的存储桶所在的地域
            string sourceKey    = "sourceObject";            //源对象键
            //构造源对象属性
            CopySourceStruct copySource = new CopySourceStruct(sourceAppid, sourceBucket,
                                                               sourceRegion, sourceKey);

            string bucket = "examplebucket-1250000000"; //目标存储桶,格式:BucketName-APPID
            string key    = "exampleobject";            //目标对象的对象键

            COSXMLCopyTask copytask = new COSXMLCopyTask(bucket, key, copySource);

            copytask.successCallback = delegate(CosResult cosResult)
            {
                COSXML.Transfer.COSXMLCopyTask.CopyTaskResult result = cosResult
                                                                       as COSXML.Transfer.COSXMLCopyTask.CopyTaskResult;
                Console.WriteLine(result.GetResultInfo());
                string eTag = result.eTag;
            };
            copytask.failCallback = delegate(CosClientException clientEx, CosServerException serverEx)
            {
                if (clientEx != null)
                {
                    Console.WriteLine("CosClientException: " + clientEx);
                }
                if (serverEx != null)
                {
                    Console.WriteLine("CosServerException: " + serverEx.GetInfo());
                }
            };
            transferManager.Copy(copytask);

            //.cssg-snippet-body-end
        }
        /// 拷贝一个分片
        public void UploadPartCopy()
        {
            //.cssg-snippet-body-start:[upload-part-copy]
            try
            {
                string sourceAppid  = "1250000000";              //账号 appid
                string sourceBucket = "sourcebucket-1250000000"; //"源对象所在的存储桶
                string sourceRegion = "COS_REGION";              //源对象的存储桶所在的地域
                string sourceKey    = "sourceObject";            //源对象键
                //构造源对象属性
                COSXML.Model.Tag.CopySourceStruct copySource = new CopySourceStruct(sourceAppid,
                                                                                    sourceBucket, sourceRegion, sourceKey);

                string bucket                 = "examplebucket-1250000000"; //存储桶,格式:BucketName-APPID
                string key                    = "exampleobject";            //对象键
                string uploadId               = this.uploadId;              //初始化分块上传返回的uploadId
                int    partNumber             = 1;                          //分块编号,必须从1开始递增
                UploadPartCopyRequest request = new UploadPartCopyRequest(bucket, key,
                                                                          partNumber, uploadId);
                //设置拷贝源
                request.SetCopySource(copySource);
                //设置复制分块(指定块的范围,如 0 ~ 1M)
                request.SetCopyRange(0, 1024 * 1024);
                //执行请求
                UploadPartCopyResult result = cosXml.PartCopy(request);
                //请求成功
                //获取返回分块的eTag,用于后续CompleteMultiUploads
                this.eTag = result.copyObject.eTag;
                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
        }
Example #9
0
        public void testCopyTask()
        {
            CopySourceStruct copySource = new CopySourceStruct(QCloudServer.Instance().appid,
                                                               bucket, QCloudServer.Instance().region, copykey);

            COSXMLCopyTask copyTask = new COSXMLCopyTask(bucket, multiKey, copySource);

            var autoEvent = new AutoResetEvent(false);

            copyTask.progressCallback = delegate(long completed, long total)
            {
                Console.WriteLine(String.Format("progress = {0:##.##}%", completed * 100.0 / total));
            };

            copyTask.successCallback = delegate(CosResult cosResult)
            {
                COSXML.Transfer.COSXMLCopyTask.CopyTaskResult result = cosResult as COSXML.Transfer.COSXMLCopyTask.CopyTaskResult;
                Console.WriteLine(result.GetResultInfo());
                autoEvent.Set();
                Assert.True(cosResult.httpCode == 200);
            };

            copyTask.failCallback = delegate(CosClientException clientEx, CosServerException serverEx)
            {
                if (clientEx != null)
                {
                    Console.WriteLine("CosClientException: " + clientEx);
                }
                if (serverEx != null)
                {
                    Console.WriteLine("CosServerException: " + serverEx.GetInfo());
                }
                autoEvent.Set();
                Assert.True(false);
            };

            transferManager.Copy(copyTask);
            autoEvent.WaitOne();
        }
Example #10
0
        /// 复制对象时替换对象属性
        public void CopyObjectReplaced()
        {
            //.cssg-snippet-body-start:[copy-object-replaced]
            try
            {
                string sourceAppid  = "1250000000";              //账号 appid
                string sourceBucket = "sourcebucket-1250000000"; //"源对象所在的存储桶
                string sourceRegion = "COS_REGION";              //源对象的存储桶所在的地域
                string sourceKey    = "sourceObject";            //源对象键
                //构造源对象属性
                CopySourceStruct copySource = new CopySourceStruct(sourceAppid, sourceBucket,
                                                                   sourceRegion, sourceKey);

                string            bucket  = "examplebucket-1250000000"; //存储桶,格式:BucketName-APPID
                string            key     = "exampleobject";            //对象键
                CopyObjectRequest request = new CopyObjectRequest(bucket, key);
                //设置拷贝源
                request.SetCopySource(copySource);
                //设置是否拷贝还是更新,此处是拷贝
                request.SetCopyMetaDataDirective(COSXML.Common.CosMetaDataDirective.Replaced);
                // 替换元数据
                request.SetRequestHeader("Content-Disposition", "attachment; filename=example.jpg");
                //执行请求
                CopyObjectResult result = cosXml.CopyObject(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
        }
Example #11
0
        public void Rename(string oldname, string newname)
        {
            try
            {
                cosXml = GetCosXml();
                string sourceAppid  = _cosOptions.Appid;
                string sourceBucket = _cosOptions.Bucket;
                string sourceRegion = _cosOptions.Region;
                string sourceKey    = GetFullKey(oldname);

                CopySourceStruct copySource = new CopySourceStruct(sourceAppid, sourceBucket,
                                                                   sourceRegion, sourceKey);

                string            bucket  = _cosOptions.Bucket;
                string            key     = GetFullKey(newname);
                CopyObjectRequest request = new CopyObjectRequest(bucket, key);

                request.SetSign(TimeUtils.GetCurrentTime(TimeUnit.SECONDS), KEY_DURATION_SECOND);
                request.SetCopySource(copySource);
                request.SetCopyMetaDataDirective(COSXML.Common.CosMetaDataDirective.COPY);

                CopyObjectResult result = cosXml.CopyObject(request);

                //Console.WriteLine(result.GetResultInfo());

                Delete(oldname);
            }
            catch (COSXML.CosException.CosClientException clientEx)
            {
                Logging.Log.WriteErrorMessage(LOGTAG, "Rename", clientEx, "Rename failed: {0} to {1}", oldname, newname);
                throw;
            }
            catch (COSXML.CosException.CosServerException serverEx)
            {
                Logging.Log.WriteErrorMessage(LOGTAG, "Rename", serverEx, "Rename failed: {0} to {1}, {2}", oldname, newname, serverEx.GetInfo());
                throw;
            }
        }
Example #12
0
        /// 修改对象元数据
        public void ModifyObjectMetadata()
        {
            //.cssg-snippet-body-start:[modify-object-metadata]
            try
            {
                string bucket = "examplebucket-1250000000"; //存储桶,格式:BucketName-APPID
                string key    = "exampleobject";            //对象键
                string appId  = "1250000000";               //账号 appid
                string region = "COS_REGION";               //源对象的存储桶所在的地域
                //构造对象属性
                CopySourceStruct copySource = new CopySourceStruct(appId, bucket,
                                                                   region, key);

                CopyObjectRequest request = new CopyObjectRequest(bucket, key);
                //设置拷贝源
                request.SetCopySource(copySource);
                //设置是否拷贝还是更新,此处是拷贝
                request.SetCopyMetaDataDirective(COSXML.Common.CosMetaDataDirective.REPLACED);
                // 替换元数据
                request.SetRequestHeader("Content-Disposition", "attachment; filename=example.jpg");
                request.SetRequestHeader("Content-Type", "image/png");
                //执行请求
                CopyObjectResult result = cosXml.CopyObject(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
        }
Example #13
0
        /// 修改对象存储类型
        public void ModifyObjectStorageClass()
        {
            //.cssg-snippet-body-start:[modify-object-storage-class]
            try
            {
                string bucket = "examplebucket-1250000000"; //存储桶,格式:BucketName-APPID
                string key    = "exampleobject";            //对象键
                string appId  = "1250000000";               //账号 appid
                string region = "COS_REGION";               //源对象的存储桶所在的地域
                //构造对象属性
                CopySourceStruct copySource = new CopySourceStruct(appId, bucket,
                                                                   region, key);

                CopyObjectRequest request = new CopyObjectRequest(bucket, key);
                //设置拷贝源
                request.SetCopySource(copySource);
                //设置是否拷贝还是更新,此处是拷贝
                request.SetCopyMetaDataDirective(COSXML.Common.CosMetaDataDirective.REPLACED);
                // 修改为归档存储
                request.SetCosStorageClass("ARCHIVE");
                //执行请求
                CopyObjectResult result = cosXml.CopyObject(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
        }
 public COSXMLCopyTask(string bucket, string region, string key, CopySourceStruct copySource)
     : base(bucket, region, key)
 {
     this.copySource = copySource;
 }
Example #15
0
        public void testObject()
        {
            QCloudServer instance = QCloudServer.Instance();

            string        key           = "objecttest.txt";
            string        srcPath       = QCloudServer.CreateFile(TimeUtils.GetCurrentTime(TimeUnit.SECONDS) + ".txt", 1024 * 1024 * 1);
            FileInfo      fileInfo      = new FileInfo(srcPath);
            DirectoryInfo directoryInfo = fileInfo.Directory;

            QCloudServer.DeleteAllFile(directoryInfo.FullName, "*.txt");
            Console.WriteLine(srcPath);
            srcPath       = QCloudServer.CreateFile(TimeUtils.GetCurrentTime(TimeUnit.SECONDS) + ".txt", 1024 * 1024 * 1);
            fileInfo      = new FileInfo(srcPath);
            directoryInfo = fileInfo.Directory;
            PutObject(instance.cosXml, instance.bucketForObjectTest, key, @srcPath);

            PutObjectWithAES256(instance.cosXml, instance.bucketForObjectTest, "aes256_" + key, @srcPath);

            PutObjectWithCustomerKey(instance.cosXml, instance.bucketForObjectTest, "customerKey_" + key, @srcPath);

            PutObjectWithKMS(instance.cosXml, instance.bucketForObjectTest, "KMS" + key, @srcPath);

            HeadObject(instance.cosXml, instance.bucketForObjectTest, key);

            PutObjectACL(instance.cosXml, instance.bucketForObjectTest, key);
            GetObjectACL(instance.cosXml, instance.bucketForObjectTest, key);

            OptionObject(instance.cosXml, instance.bucketForObjectTest, key);

            string localDir = directoryInfo.FullName;

            Console.WriteLine(localDir);
            GetObject(instance.cosXml, instance.bucketForObjectTest, key, localDir, "download.txt");

            QCloudServer.DeleteFile(localDir + Path.DirectorySeparatorChar + "download.txt");

            DeleteObject(instance.cosXml, instance.bucketForObjectTest, key);

            key = "multiObjecttest.txt";
            MultiUpload(instance.cosXml, instance.bucketForObjectTest, key, srcPath);


            AbortMultiUpload(instance.cosXml, instance.bucketForObjectTest, key, srcPath);

            string           sourceAppid  = instance.appid;
            string           sourceBucket = instance.bucketForObjectTest;
            string           sourceRegion = instance.region;
            string           sourceKey    = key;
            CopySourceStruct copySource   = new CopySourceStruct(sourceAppid, sourceBucket, sourceRegion, sourceKey);

            key = "copy_" + key;
            CopyObject(instance.cosXml, instance.bucketForObjectTest, key, copySource);


            DeleteObject(instance.cosXml, instance.bucketForObjectTest, key);

            key = "multi_" + key;
            PartCopyObject(instance.cosXml, instance.bucketForObjectTest, key, copySource);
            DeleteObject(instance.cosXml, instance.bucketForObjectTest, key);

            key = "post_" + key;
            PostObject(instance.cosXml, instance.bucketForObjectTest, key, srcPath, null);

            List <string> keys = new List <string>();

            keys.Add(key);
            MultiDeleteObject(instance.cosXml, instance.bucketForObjectTest, keys);

            QCloudServer.DeleteFile(srcPath);

            Assert.Pass();

            //manualResetEvent = new ManualResetEvent(false);

            //key = "objecttest.txt";
            //AsynPutObject(instance.cosXml, instance.bucketForObjectTest, key, @srcPath);

            //manualResetEvent.WaitOne();
            //AsynHeadObject(instance.cosXml, instance.bucketForObjectTest, key);

            //manualResetEvent.WaitOne();
            //AsynPutObjectACL(instance.cosXml, instance.bucketForObjectTest, key);

            //manualResetEvent.WaitOne();
            //AsynGetObjectACL(instance.cosXml, instance.bucketForObjectTest, key);

            //manualResetEvent.WaitOne();
            //AsynOptionObject(instance.cosXml, instance.bucketForObjectTest, key);

            //manualResetEvent.WaitOne();
            //AsynDeleteObject(instance.cosXml, instance.bucketForObjectTest, key);

            //manualResetEvent.WaitOne();
            //key = "post_" + key;
            //AsynPostObject(instance.cosXml, instance.bucketForObjectTest, key, srcPath, null);

            //manualResetEvent.WaitOne();
            //keys = new List<string>();
            //keys.Add(key);
            //AsyncMultiDeleteObject(instance.cosXml, instance.bucketForObjectTest, keys);

            //manualResetEvent.WaitOne();
        }
Example #16
0
        static void Main(string[] args)
        {
            QCloudServer instance = QCloudServer.GetInstance();

            //AuthSamples.testCAM(instance.secretId, instance.secretKey);


            //for get service test
            //GetServiceAPI.GetService(instance.cosXml);

            //GetServiceAPI.AsyncGetService(instance.cosXml);


            // for bucket test
            BucketSample.PutBucket(instance.cosXml, instance.bucketForBucketTest);

            //BucketSample.AsynPutBucket(instance.cosXml, instance.bucketForBucketTest);

            //BucketSample.HeadBucket(instance.cosXml, instance.bucketForBucketTest);

            //BucketSample.AsynHeadBucket(instance.cosXml, instance.bucketForBucketTest);

            //BucketSample.GetBucket(instance.cosXml, instance.bucketForBucketTest);

            //BucketSample.AsynGetBucket(instance.cosXml, instance.bucketForBucketTest);

            //BucketSample.GetBuckeLocation(instance.cosXml, instance.bucketForBucketTest);

            //BucketSample.AsynGetBuckeLocation(instance.cosXml, instance.bucketForBucketTest);

            //BucketSample.PutBucketACL(instance.cosXml, instance.bucketForBucketTest);

            //BucketSample.AsynPutBucketACL(instance.cosXml, instance.bucketForBucketTest);

            //BucketSample.GetBucketACL(instance.cosXml, instance.bucketForBucketTest);

            //BucketSample.AsynGetBucketACL(instance.cosXml, instance.bucketForBucketTest);

            //BucketSample.PutBucketCORS(instance.cosXml, instance.bucketForBucketTest);

            //BucketSample.AsynPutBucketCORS(instance.cosXml, instance.bucketForBucketTest);

            //BucketSample.GetBucketCORS(instance.cosXml, instance.bucketForBucketTest);

            //BucketSample.AsynGetBucketCORS(instance.cosXml, instance.bucketForBucketTest);

            //BucketSample.DeleteBucketCORS(instance.cosXml, instance.bucketForBucketTest);

            //BucketSample.AsynDeleteBucketCORS(instance.cosXml, instance.bucketForBucketTest);

            //BucketSample.PutBucketLifeCycle(instance.cosXml, instance.bucketForBucketTest);

            //BucketSample.AsynPutBucketLifeCycle(instance.cosXml, instance.bucketForBucketTest);

            //BucketSample.GetBucketLifeCycle(instance.cosXml, instance.bucketForBucketTest);

            //BucketSample.AsynGetBucketLifeCycle(instance.cosXml, instance.bucketForBucketTest);

            //BucketSample.DeleteBucketLifeCycle(instance.cosXml, instance.bucketForBucketTest);

            //BucketSample.AsynDeleteBucketLifeCycle(instance.cosXml, instance.bucketForBucketTest);

            //BucketSample.PutBucketReplication(instance.cosXml, instance.bucketForBucketTest);

            //BucketSample.AsynPutBucketReplication(instance.cosXml, instance.bucketForBucketTest);

            //BucketSample.GetBucketReplication(instance.cosXml, instance.bucketForBucketTest);

            //BucketSample.AsynGetBucketReplication(instance.cosXml, instance.bucketForBucketTest);

            //BucketSample.DeleteBucketReplication(instance.cosXml, instance.bucketForBucketTest);

            //BucketSample.AsynDeleteBucketReplication(instance.cosXml, instance.bucketForBucketTest);

            //BucketSample.PutBucketVersioning(instance.cosXml, instance.bucketForBucketTest);

            //BucketSample.AsynPutBucketVersioning(instance.cosXml, instance.bucketForBucketTest);

            //BucketSample.GetBucketVersioning(instance.cosXml, instance.bucketForBucketTest);

            //BucketSample.AsynGetBucketVersioning(instance.cosXml, instance.bucketForBucketTest);

            //BucketSample.ListBucketVersions(instance.cosXml, instance.bucketForBucketTest);

            //BucketSample.AsynListBucketVersions(instance.cosXml, instance.bucketForBucketTest);

            //BucketSample.ListMultiUploads(instance.cosXml, instance.bucketForBucketTest);

            //BucketSample.AsynListMultiUploads(instance.cosXml, instance.bucketForBucketTest);

            //BucketSample.DeleteBucketPolicy(instance.cosXml, instance.bucketForBucketTest);

            //BucketSample.AsynDeleteBucketPolicy(instance.cosXml, instance.bucketForBucketTest);

            //BucketSample.DeleteBucket(instance.cosXml, instance.bucketForBucketTest);

            //BucketSample.AsynDeleteBucket(instance.cosXml, instance.bucketForBucketTest);


            //for object test
            string key     = "okhttp-3.8.1.jar";
            string srcPath = @"F:\okhttp-3.8.1.jar";

            //ObjectSample.PutObject(instance.cosXml, instance.bucketForObjectTest, key, srcPath);

            //ObjectSample.AsynPutObject(instance.cosXml, instance.bucketForObjectTest, key, srcPath);

            //ObjectSample.HeadObject(instance.cosXml, instance.bucketForObjectTest, key);

            //ObjectSample.AsynHeadObject(instance.cosXml, instance.bucketForObjectTest, key);

            //ObjectSample.PutObjectACL(instance.cosXml, instance.bucketForObjectTest, key);

            //ObjectSample.AsynPutObjectACL(instance.cosXml, instance.bucketForObjectTest, key);

            //ObjectSample.GetObjectACL(instance.cosXml, instance.bucketForObjectTest, key);

            //ObjectSample.AsynGetObjectACL(instance.cosXml, instance.bucketForObjectTest, key);

            string origin       = "http://cloud.tencent.com";
            string accessMethod = "PUT";

            //ObjectSample.OptionObject(instance.cosXml, instance.bucketForObjectTest, key, origin, accessMethod);

            //ObjectSample.AsynOptionObject(instance.cosXml, instance.bucketForObjectTest, key, origin, accessMethod);

            key = "cosbrowser-1.0.2-win-32.zip";
            string sourceAppid  = instance.appid;
            string sourceBucket = instance.bucketForObjectTest;
            string sourceRegion = instance.region;
            string sourceKey    = key;

            COSXML.Model.Tag.CopySourceStruct copySource = new CopySourceStruct(sourceAppid, sourceBucket, sourceRegion, sourceKey);

            //ObjectSample.CopyObject(instance.cosXml, instance.bucketForObjectTest, key + "_copy.txt", copySource);

            //ObjectSample.AsynCopyObject(instance.cosXml, instance.bucketForObjectTest, key + "_copy.txt", copySource);

            //ObjectSample.InitMultiUpload(instance.cosXml, instance.bucketForObjectTest, key);

            //ObjectSample.AsynInitMultiUpload(instance.cosXml, instance.bucketForObjectTest, key);

            string uploadId = "154337751162e84a31bf2b066696d674e58bf0f24b9fab2bdedfd00fa679e0384b0977d82f";

            //ObjectSample.ListParts(instance.cosXml, instance.bucketForObjectTest, key, uploadId);

            //ObjectSample.AsynListParts(instance.cosXml, instance.bucketForObjectTest, key, uploadId);

            int partNumber = 1;
            //ObjectSample.UploadParts(instance.cosXml, instance.bucketForObjectTest, key, uploadId, partNumber, srcPath);

            //ObjectSample.AsynUploadParts(instance.cosXml, instance.bucketForObjectTest, key, uploadId, partNumber, srcPath);

            Dictionary <int, string> partNumberAndEtags = new Dictionary <int, string>();
            string etag = "e1e205658f27e8fafffe1659272a760b";

            partNumberAndEtags.Add(partNumber, etag);

            //ObjectSample.CompleteMultiUpload(instance.cosXml, instance.bucketForObjectTest, key, uploadId, partNumberAndEtags);

            //ObjectSample.AsynCompleteMultiUpload(instance.cosXml, instance.bucketForObjectTest, key, uploadId, partNumberAndEtags);

            //ObjectSample.AbortMultiUpload(instance.cosXml, instance.bucketForObjectTest, key, uploadId);

            //ObjectSample.AsynAbortMultiUpload(instance.cosXml, instance.bucketForObjectTest, key, uploadId);


            //ObjectSample.PartCopyObject(instance.cosXml, instance.bucketForObjectTest, key, copySource, uploadId, partNumber);

            //ObjectSample.AsynPartCopyObject(instance.cosXml, instance.bucketForObjectTest, key, copySource, uploadId, partNumber);

            key = "net_object.txt";
            //ObjectSample.testGetObject(instance.cosXml, instance.bucketForObjectTest, key, @"F:\aws", key);

            //ObjectSample.testAsyncGetObject(instance.cosXml, instance.bucketForObjectTest, key, @"F:\aws", key);

            key     = "postic_background.9.png";
            srcPath = @"F:\ic_background.9.png";
            //ObjectSample.PostObject(instance.cosXml, instance.bucketForObjectTest, key, srcPath, null);

            //ObjectSample.AsynPostObject(instance.cosXml, instance.bucketForObjectTest, key, srcPath, null);

            //ObjectSample.RestoreObject(instance.cosXml, instance.bucketForObjectTest, key);

            //ObjectSample.AsynRestoreObject(instance.cosXml, instance.bucketForObjectTest, key);

            List <string> keys = new List <string>();

            keys.Add(key);
            keys.Add("okhttp-3.8.1.jar");
            //ObjectSample.MultiDeleteObject(instance.cosXml, instance.bucketForObjectTest, keys);

            keys.Add("net_object.txtpartCopy.txt");
            //ObjectSample.AsyncMultiDeleteObject(instance.cosXml, instance.bucketForObjectTest, keys);

            //ObjectSample.DeleteObject(instance.cosXml, instance.bucketForObjectTest, "Android开发艺术探索.pdf");

            //ObjectSample.AsynDeleteObject(instance.cosXml, instance.bucketForObjectTest, "Android开发艺术探索2.pdf");



            //transfer
            TransferSample.Init((CosXmlServer)instance.cosXml);
            key = "part_upload2_cosbrowser-1.0.2-win-32.zip";
            //TransferSample.Copy(instance.bucketForObjectTest, key, copySource);
            key = "multi_issue.rar";
            //TransferSample.Download(instance.bucketForObjectTest, key, @"F:\Download1", "test2.rar");
            srcPath = @"F:\工具资料\androidStudio_中文输入法问题issue包.rar";

            srcPath = @"E:\TencentWork\C#_Terminate\QCloudCSharp\COSXMLTests\Buly.pdf";
            key     = "Transfer_webRTC.rar";
            //TransferSample.Upload(instance.bucketForObjectTest, key, srcPath, 0, -1);
            key = "Transfer_with_uploadId.pdf";
            //TransferSample.UploadWithUploadId(instance.cosXml, instance.bucketForObjectTest, key, srcPath, 0, -1);

            //testMd5(@"F:\Download1\test2.rar", srcPath);

            Console.ReadKey();
        }
Example #17
0
 public void SetCopySource(CopySourceStruct copySource)
 {
     this.copySourceStruct = copySource;
 }