コード例 #1
0
        public async Task DownloadFile(StorageFile targetFile)
        {
            var firstItem = this.SelectedItems.FirstOrDefault();
            // don't do this anymore!
            //client.DownloadBlob(targetFile, firstItem.Uri);

            var payload = new BlobDownloadRequestedEvent();

            payload.Target   = targetFile;
            payload.Source   = firstItem;
            payload.FileName = firstItem.Name;
            payload.FullPath = firstItem.Uri.AbsoluteUri;

            Messenger.Default.Send <BlobDownloadRequestedEvent>(payload);
        }
コード例 #2
0
        private void OnBlobDownloadRequested(BlobDownloadRequestedEvent payload)
        {
            var destinationFile = payload.Target;
            var source          = payload.Source.Uri;

            BackgroundDownloader downloader = new BackgroundDownloader();
            DownloadOperation    download   = downloader.CreateDownload(source, destinationFile);

            var transfer = new BlobTransfer();

            transfer.Identifier      = download.Guid;
            transfer.PercentComplete = 0;
            transfer.FileName        = payload.FileName;
            transfer.FullPath        = payload.FullPath;

            this.TransferHistory.Add(transfer);

            HandleDownloadAsync(download, true);
        }