Фоновый загрузчик Windows 8.1 с Amazon S3 c # в XAML

#xaml #amazon-s3 #windows-8.1

#xaml #amazon-s3 #windows-8.1

Вопрос:

Пытаюсь загрузить файлы из Windows 8.1 в Amazon s3 в фоновом режиме. Пожалуйста, подскажите, как я могу продолжить. Я использую XAML. фрагмент кода BackgroundDownloader и BackgroundUploader с Amazon S3 окажут большую помощь. Пожалуйста, найдите его частичную реализацию ниже.

  public async Task UploadFile(IReadOnlyList<StorageFile> files)
    {
        basicAwsCredentials = new BasicAWSCredentials(accesskey,secretkey);
        List<BackgroundTransferContentPart> parts = new List<BackgroundTransferContentPart>();
        for (int i = 0; i < files.Count; i  )
        {
            BackgroundTransferContentPart part = new BackgroundTransferContentPart("File"   i, files[i].Name);
            part.SetFile(files[i]);
            parts.Add(part);
        }
        Uri uri = new Uri(bucketurl ExistingBucketName "/");
        BackgroundUploader uploader = new BackgroundUploader();
        UploadOperation upload = await uploader.CreateUploadAsync(uri, parts);
        // Attach progress and completion handlers.
        await HandleUploadAsync(upload, true);
    }


  private async Task HandleUploadAsync(UploadOperation upload, bool start)
    {
        try
        {
            CancellationTokenSource cts = new CancellationTokenSource();
            Progress<UploadOperation> progressCallback = new Progress<UploadOperation>();
            if (start)
            {
                // Start the upload and attach a progress handler.
                await upload.StartAsync().AsTask(cts.Token, progressCallback);
            }
            else
            {
                // The upload was already running when the application started, re-attach the progress handler.
                await upload.AttachAsync().AsTask(cts.Token, progressCallback);
            }

            ResponseInformation response = upload.GetResponseInformation();
            //  Log(String.Format("Completed: {0}, Status Code: {1}", upload.Guid, response.StatusCode));
        }
        catch (TaskCanceledException)
        {
            // Log("Upload cancelled.");
        }
        catch (Exception ex)
        {
            //LogException("Error", ex);
        }
    }