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); } }
/// 高级接口拷贝对象 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 }
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())); }
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); } }
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 }
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(); }
/// 复制对象时替换对象属性 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 }
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; } }
/// 修改对象元数据 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 }
/// 修改对象存储类型 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; }
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(); }
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(); }
public void SetCopySource(CopySourceStruct copySource) { this.copySourceStruct = copySource; }