/// 高级接口上传对象 public async void TransferUploadFile() { //.cssg-snippet-body-start:[transfer-upload-file] // 初始化 TransferConfig TransferConfig transferConfig = new TransferConfig(); // 初始化 TransferManager TransferManager transferManager = new TransferManager(cosXml, transferConfig); String bucket = "examplebucket-1250000000"; //存储桶,格式:BucketName-APPID String cosPath = "exampleobject"; //对象在存储桶中的位置标识符,即称对象键 String srcPath = @"temp-source-file"; //本地文件绝对路径 // 上传对象 COSXMLUploadTask uploadTask = new COSXMLUploadTask(bucket, cosPath); uploadTask.SetSrcPath(srcPath); uploadTask.progressCallback = delegate(long completed, long total) { Console.WriteLine(String.Format("progress = {0:##.##}%", completed * 100.0 / total)); }; try { COSXML.Transfer.COSXMLUploadTask.UploadTaskResult result = await transferManager.UploadAsync(uploadTask); Console.WriteLine(result.GetResultInfo()); string eTag = result.eTag; } catch (Exception e) { Console.WriteLine("CosException: " + e); } //.cssg-snippet-body-end }
internal static async Task <String> PutObject(CosXmlServer cosXml) { string cosKey = "cosKey"; //.cssg-snippet-body-start:[transfer-upload-file] // 初始化 TransferConfig TransferConfig transferConfig = new TransferConfig(); // 初始化 TransferManager TransferManager transferManager = new TransferManager(cosXml, transferConfig); String cosPath = cosKey; //对象在存储桶中的位置标识符,即称对象键 String srcPath = @"本地绝对路径"; //本地文件绝对路径 // 上传对象 COSXMLUploadTask uploadTask = new COSXMLUploadTask(bucket, cosPath); uploadTask.SetSrcPath(srcPath); uploadTask.progressCallback = delegate(long completed, long total) { Console.WriteLine(String.Format("progress = {0:##.##}%", completed * 100.0 / total)); }; try { COSXML.Transfer.COSXMLUploadTask.UploadTaskResult result = await transferManager.UploadAsync(uploadTask); Console.WriteLine(result.GetResultInfo()); string eTag = result.eTag; } catch (Exception e) { Console.WriteLine("CosException: " + e); } return(cosKey); }
/// 上传暂停、续传、取消 public async void TransferUploadInteract() { TransferConfig transferConfig = new TransferConfig(); TransferManager transferManager = new TransferManager(cosXml, transferConfig); string bucket = "examplebucket-1250000000"; //存储桶,格式:BucketName-APPID string cosPath = "exampleobject"; //对象在存储桶中的位置标识符,即称对象键 string srcPath = @"temp-source-file"; //本地文件绝对路径 // 上传对象 COSXMLUploadTask uploadTask = new COSXMLUploadTask(bucket, cosPath); uploadTask.SetSrcPath(srcPath); await transferManager.UploadAsync(uploadTask); //.cssg-snippet-body-start:[transfer-upload-pause] uploadTask.Pause(); //.cssg-snippet-body-end //.cssg-snippet-body-start:[transfer-upload-resume] uploadTask.Resume(); //.cssg-snippet-body-end //.cssg-snippet-body-start:[transfer-upload-cancel] uploadTask.Cancel(); //.cssg-snippet-body-end }
internal static async Task GetObject(CosXmlServer cosXml, string cosKey) { TransferConfig transferConfig = new TransferConfig(); // 初始化 TransferManager TransferManager transferManager = new TransferManager(cosXml, transferConfig); String cosPath = cosKey; //对象在存储桶中的位置标识符,即称对象键 string localDir = System.IO.Path.GetTempPath(); //本地文件夹 string localFileName = "my-local-temp-file"; //指定本地保存的文件名 // 下载对象 COSXMLDownloadTask downloadTask = new COSXMLDownloadTask(bucket, cosPath, localDir, localFileName); downloadTask.progressCallback = delegate(long completed, long total) { Console.WriteLine(String.Format("progress = {0:##.##}%", completed * 100.0 / total)); }; try { COSXML.Transfer.COSXMLDownloadTask.DownloadTaskResult result = await transferManager.DownloadAsync(downloadTask); Console.WriteLine(result.GetResultInfo()); string eTag = result.eTag; } catch (Exception e) { Console.WriteLine("CosException: " + e); } }
public void Test2() { //写配置 TransferRule tr = ApplicationFilterTest.MakeTransferRule(); TransferConfig.WriteConfig(tr, new DateTime(1999, 1, 1), new DateTime(2099, 12, 11)); //模拟用户的下载上传操作 CommandRunner.CopyToFile(DiskOperations.DataTemp_ForBackUpDirectory + "config.txt", DiskOperations.DataTemp_ForRestoreDirectory + "config.txt"); //读配置 DateTime?startTime; DateTime?endTime; string theRuleString; string theRuleName = TransferConfig.ReadConfig(DiskOperations.DataTemp_ForBackUpDirectory, out theRuleString, out startTime, out endTime); //验证配置 Console.WriteLine(theRuleName); Assert.AreEqual("新建数据迁移策略", theRuleName); Assert.AreEqual(startTime, new DateTime(1999, 1, 1)); Assert.AreEqual(endTime, new DateTime(2099, 12, 11)); Console.WriteLine(theRuleString); Assert.AreEqual(tr.MakeString(), theRuleString); //清理 CommandRunner.CleanUpDirectory(DiskOperations.DataTemp_ForBackUpDirectory); CommandRunner.CleanUpDirectory(DiskOperations.DataTemp_ForRestoreDirectory); }
/// 高级接口拷贝对象 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 async void TransferDownloadObject() { //.cssg-snippet-body-start:[transfer-download-object] // 初始化 TransferConfig TransferConfig transferConfig = new TransferConfig(); // 初始化 TransferManager TransferManager transferManager = new TransferManager(cosXml, transferConfig); String bucket = "examplebucket-1250000000"; //存储桶,格式:BucketName-APPID String cosPath = "exampleobject"; //对象在存储桶中的位置标识符,即称对象键 string localDir = System.IO.Path.GetTempPath(); //本地文件夹 string localFileName = "my-local-temp-file"; //指定本地保存的文件名 // 下载对象 COSXMLDownloadTask downloadTask = new COSXMLDownloadTask(bucket, cosPath, localDir, localFileName); downloadTask.progressCallback = delegate(long completed, long total) { Console.WriteLine(String.Format("progress = {0:##.##}%", completed * 100.0 / total)); }; try { COSXML.Transfer.COSXMLDownloadTask.DownloadTaskResult result = await transferManager.DownloadAsync(downloadTask); Console.WriteLine(result.GetResultInfo()); string eTag = result.eTag; } catch (Exception e) { Console.WriteLine("CosException: " + e); } //.cssg-snippet-body-end }
/// <summary> /// Create a new transport instance. /// </summary> /// <param name="local"> /// the repository this instance will fetch into, or push out of. /// This must be the repository passed to /// <see cref="open(GitSharp.Core.Repository,GitSharp.Core.Transport.URIish)"/>. /// </param> /// <param name="uri"> /// the URI used to access the remote repository. This must be the /// URI passed to <see cref="open(GitSharp.Core.Repository,GitSharp.Core.Transport.URIish)"/>. /// </param> protected Transport(Repository local, URIish uri) { TransferConfig tc = local.Config.getTransfer(); _local = local; _uri = uri; _checkFetchedObjects = tc.isFsckObjects(); }
/// <summary>Snippet for GetTransferConfig</summary> /// <remarks> /// This snippet has been automatically generated for illustrative purposes only. /// It may require modifications to work in your environment. /// </remarks> public void GetTransferConfig() { // Create client DataTransferServiceClient dataTransferServiceClient = DataTransferServiceClient.Create(); // Initialize request argument(s) string name = "projects/[PROJECT]/transferConfigs/[TRANSFER_CONFIG]"; // Make the request TransferConfig response = dataTransferServiceClient.GetTransferConfig(name); }
/// <summary>Snippet for GetTransferConfig</summary> /// <remarks> /// This snippet has been automatically generated for illustrative purposes only. /// It may require modifications to work in your environment. /// </remarks> public void GetTransferConfigResourceNames() { // Create client DataTransferServiceClient dataTransferServiceClient = DataTransferServiceClient.Create(); // Initialize request argument(s) TransferConfigName name = TransferConfigName.FromProjectTransferConfig("[PROJECT]", "[TRANSFER_CONFIG]"); // Make the request TransferConfig response = dataTransferServiceClient.GetTransferConfig(name); }
public IActionResult Create([FromQueryAttribute] string userId) { var config = new TransferConfig() { FacebookId = userId }; return(View(config)); }
private string CreateHeader(TransferConfig config) { var json = new StringBuilder(); json.Append("{"); json.AppendFormat("AppID:\"{0}\",FileKey:\"{1}\"", this.AppID, config.Checksum); json.Append("}"); return(json.ToString()); }
public IActionResult Create([Bind("FacebookId, Description, Source, Target, Frequency, Amount")] TransferConfig config) { if (ModelState.IsValid) { this.repository.Create(config).Wait(); } return(RedirectToAction("Index")); }
/// <summary>Snippet for CreateTransferConfig</summary> /// <remarks> /// This snippet has been automatically generated for illustrative purposes only. /// It may require modifications to work in your environment. /// </remarks> public void CreateTransferConfigResourceNames1() { // Create client DataTransferServiceClient dataTransferServiceClient = DataTransferServiceClient.Create(); // Initialize request argument(s) ProjectName parent = ProjectName.FromProject("[PROJECT]"); TransferConfig transferConfig = new TransferConfig(); // Make the request TransferConfig response = dataTransferServiceClient.CreateTransferConfig(parent, transferConfig); }
/// <summary>Snippet for GetTransferConfigAsync</summary> /// <remarks> /// This snippet has been automatically generated for illustrative purposes only. /// It may require modifications to work in your environment. /// </remarks> public async Task GetTransferConfigAsync() { // Create client DataTransferServiceClient dataTransferServiceClient = await DataTransferServiceClient.CreateAsync(); // Initialize request argument(s) string name = "projects/[PROJECT]/transferConfigs/[TRANSFER_CONFIG]"; // Make the request TransferConfig response = await dataTransferServiceClient.GetTransferConfigAsync(name); }
/// <summary>Snippet for CreateTransferConfig</summary> /// <remarks> /// This snippet has been automatically generated for illustrative purposes only. /// It may require modifications to work in your environment. /// </remarks> public void CreateTransferConfig() { // Create client DataTransferServiceClient dataTransferServiceClient = DataTransferServiceClient.Create(); // Initialize request argument(s) string parent = "projects/[PROJECT]"; TransferConfig transferConfig = new TransferConfig(); // Make the request TransferConfig response = dataTransferServiceClient.CreateTransferConfig(parent, transferConfig); }
/// <summary>Snippet for UpdateTransferConfig</summary> /// <remarks> /// This snippet has been automatically generated for illustrative purposes only. /// It may require modifications to work in your environment. /// </remarks> public void UpdateTransferConfig() { // Create client DataTransferServiceClient dataTransferServiceClient = DataTransferServiceClient.Create(); // Initialize request argument(s) TransferConfig transferConfig = new TransferConfig(); FieldMask updateMask = new FieldMask(); // Make the request TransferConfig response = dataTransferServiceClient.UpdateTransferConfig(transferConfig, updateMask); }
/// <summary>Snippet for CreateTransferConfigAsync</summary> /// <remarks> /// This snippet has been automatically generated for illustrative purposes only. /// It may require modifications to work in your environment. /// </remarks> public async Task CreateTransferConfigResourceNames2Async() { // Create client DataTransferServiceClient dataTransferServiceClient = await DataTransferServiceClient.CreateAsync(); // Initialize request argument(s) LocationName parent = LocationName.FromProjectLocation("[PROJECT]", "[LOCATION]"); TransferConfig transferConfig = new TransferConfig(); // Make the request TransferConfig response = await dataTransferServiceClient.CreateTransferConfigAsync(parent, transferConfig); }
/// <summary>Snippet for CreateTransferConfigAsync</summary> /// <remarks> /// This snippet has been automatically generated for illustrative purposes only. /// It may require modifications to work in your environment. /// </remarks> public async Task CreateTransferConfigAsync() { // Create client DataTransferServiceClient dataTransferServiceClient = await DataTransferServiceClient.CreateAsync(); // Initialize request argument(s) string parent = "projects/[PROJECT]"; TransferConfig transferConfig = new TransferConfig(); // Make the request TransferConfig response = await dataTransferServiceClient.CreateTransferConfigAsync(parent, transferConfig); }
/// <summary>Snippet for UpdateTransferConfigAsync</summary> /// <remarks> /// This snippet has been automatically generated for illustrative purposes only. /// It may require modifications to work in your environment. /// </remarks> public async Task UpdateTransferConfigAsync() { // Create client DataTransferServiceClient dataTransferServiceClient = await DataTransferServiceClient.CreateAsync(); // Initialize request argument(s) TransferConfig transferConfig = new TransferConfig(); FieldMask updateMask = new FieldMask(); // Make the request TransferConfig response = await dataTransferServiceClient.UpdateTransferConfigAsync(transferConfig, updateMask); }
/// <summary>Snippet for GetTransferConfig</summary> /// <remarks> /// This snippet has been automatically generated for illustrative purposes only. /// It may require modifications to work in your environment. /// </remarks> public void GetTransferConfigRequestObject() { // Create client DataTransferServiceClient dataTransferServiceClient = DataTransferServiceClient.Create(); // Initialize request argument(s) GetTransferConfigRequest request = new GetTransferConfigRequest { TransferConfigName = TransferConfigName.FromProjectTransferConfig("[PROJECT]", "[TRANSFER_CONFIG]"), }; // Make the request TransferConfig response = dataTransferServiceClient.GetTransferConfig(request); }
/// <summary> /// Get a transfer /// </summary> /// <param name="referenceId"></param> /// <returns></returns> public async Task <ClientResponse <TransferResponse> > GetTransfer(string referenceId) { var token = await GetToken(); var transferConfig = new TransferConfig { SubscriptionKey = remittanceConfig.SubscriptionKey, RequestUri = RemittanceRequestUri.Transfer, Token = token?.AccessToken }; return(await transferClient.GetTransfer(referenceId, transferConfig)); }
/// <summary> /// Transfer from account to payee account /// </summary> /// <param name="request"></param> /// <returns></returns> public async Task <ClientResponse <string> > PostTransfer(TransferRequest request, string callbackUrl = null) { var token = await GetToken(); var transferConfig = new TransferConfig { SubscriptionKey = remittanceConfig.SubscriptionKey, RequestUri = RemittanceRequestUri.Transfer, Token = token?.AccessToken }; return(await transferClient.PostTransfer(request, transferConfig, callbackUrl)); }
public void Setup() { notExistBucket = "not-exist-bucket-suwjsdjwujehdfkd-" + QCloudServer.Instance().appid; cosXml = QCloudServer.Instance().cosXml; var config = new TransferConfig(); config.DivisionForUpload = 1 * 1024 * 1024; config.DdivisionForCopy = 1 * 1024 * 1024; config.SliceSizeForCopy = 1 * 1024 * 1024; config.SliceSizeForUpload = 1 * 1024 * 1024; transferManager = new TransferManager(cosXml, config); localFilePath = QCloudServer.CreateFile(TimeUtils.GetCurrentTime(TimeUnit.Seconds) + ".txt", 1024 * 1024 * 1); }
/// <summary> /// 高级接口上传对象 /// </summary> /// <returns></returns> public async Task TransferUploadFile(string filePath) { CosXmlConfig config = new CosXmlConfig.Builder() .SetRegion(_cosConfig.Region) //设置一个默认的存储桶地域 .Build(); string secretId = _cosConfig.SecretId; //云 API 密钥 SecretId string secretKey = _cosConfig.SecretKey; //云 API 密钥 SecretKey long durationSecond = 600; //每次请求签名有效时长,单位为秒 QCloudCredentialProvider qCloudCredentialProvider = new DefaultQCloudCredentialProvider(secretId, secretKey, durationSecond); CosXml cosXml = new CosXmlServer(config, qCloudCredentialProvider); // 初始化 TransferConfig TransferConfig transferConfig = new TransferConfig(); // 初始化 TransferManager TransferManager transferManager = new TransferManager(cosXml, transferConfig); string bucket = _cosConfig.Bucket; //存储桶,格式:BucketName-APPID string cosPath = _cosConfig.UploadKey; //对象在存储桶中的位置标识符,即称对象键 // 上传对象 COSXMLUploadTask uploadTask = new COSXMLUploadTask(bucket, cosPath); uploadTask.SetSrcPath(filePath); //本地文件绝对路径 uploadTask.progressCallback = delegate(long completed, long total) { Console.WriteLine(string.Format("progress = {0:##.##}%", completed * 100.0 / total)); }; uploadTask.successCallback = delegate(CosResult cosResult) { COSXML.Transfer.COSXMLUploadTask.UploadTaskResult result = cosResult as COSXML.Transfer.COSXMLUploadTask.UploadTaskResult; Console.WriteLine(result.GetResultInfo()); string eTag = result.eTag; }; uploadTask.failCallback = delegate(CosClientException clientEx, CosServerException serverEx) { if (clientEx != null) { Console.WriteLine("CosClientException: " + clientEx); } if (serverEx != null) { Console.WriteLine("CosServerException: " + serverEx.GetInfo()); } }; await transferManager.UploadAsync(uploadTask); }
public void Start(string filePath, IPAddress addr) { _isSend = true; var config = new TransferConfig(filePath); labName.Text = config.FileName; labChecksum.Text = config.Checksum.ToString(); labprog.Text = string.Format("0KB/s 0/{0}", config.FileLength); var remoteIpe = new IPEndPoint(addr, MainForm.TransferPort); _trans = new FileTransfer(); _trans.ProgressChanged += trans_ProgressChanged; _trans.Completed += trans_Completed; TaskHelper.Factory.StartNew(() => _trans.Send(config, remoteIpe)); }
public IActionResult Create(TransferConfig config) { CreateTransfer(config).Wait(); MessengerMessage message = new MessengerMessage(); message.Text = "the transfer was completed successfully :)"; MessengerUser user = new MessengerUser(); user.Id = config.FacebookId; var result = messengerService.MessageSender.SendAsync(message, user).Result; return(RedirectToAction("TransferSuccess")); }
public static void UploadWithUploadId(CosXml cosXml, string bucket, string key, string srcPath, long offset, long sendContentLength) { TransferConfig transferConfig = new TransferConfig(); transferManager = new TransferManager(cosXml, new TransferConfig()); COSXML.Model.Object.InitMultipartUploadRequest initMultipartUploadRequest = new COSXML.Model.Object.InitMultipartUploadRequest(bucket, key); COSXML.Model.Object.InitMultipartUploadResult initMultipartUploadResult = cosXml.InitMultipartUpload(initMultipartUploadRequest); string upLoadId = initMultipartUploadResult.initMultipartUpload.uploadId; //string content = "this is partNumber 1"; byte[] data = new byte[transferConfig.SliceSizeForUpload]; COSXML.Model.Object.UploadPartRequest uploadPartRequest = new COSXML.Model.Object.UploadPartRequest(bucket, key, 1, upLoadId, data); COSXML.Model.Object.UploadPartResult uploadPartResult = cosXml.UploadPart(uploadPartRequest); string eTag = uploadPartResult.eTag; COSXMLUploadTask uploadTask = new COSXMLUploadTask(bucket, null, key) { progressCallback = delegate(long completed, long total) { Console.WriteLine(String.Format("progress = {0} / {1} : {2:##.##}%", completed, total, completed * 100.0 / total)); }, successCallback = delegate(CosResult cosResult) { COSXML.Transfer.COSXMLUploadTask.UploadTaskResult result = cosResult as COSXML.Transfer.COSXMLUploadTask.UploadTaskResult; 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)); } }; uploadTask.SetSrcPath(srcPath, offset, sendContentLength); uploadTask.SetUploadId(upLoadId); transferManager.Upload(uploadTask); }
/// <summary>Snippet for UpdateTransferConfig</summary> /// <remarks> /// This snippet has been automatically generated for illustrative purposes only. /// It may require modifications to work in your environment. /// </remarks> public void UpdateTransferConfigRequestObject() { // Create client DataTransferServiceClient dataTransferServiceClient = DataTransferServiceClient.Create(); // Initialize request argument(s) UpdateTransferConfigRequest request = new UpdateTransferConfigRequest { TransferConfig = new TransferConfig(), AuthorizationCode = "", UpdateMask = new FieldMask(), VersionInfo = "", ServiceAccountName = "", }; // Make the request TransferConfig response = dataTransferServiceClient.UpdateTransferConfig(request); }
public Guid SendLarge(string filePath) { StorageConfig sConfig; using (var svc = new InfrastructureServiceClient()) { sConfig = svc.GetConfig(); } var config = new TransferConfig(filePath); config.State = this.CreateHeader(config); var trans = new FileTransfer(); trans.Send(config, sConfig.ListenedAddress); return(config.Checksum); }