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); }
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); }