0

皆さんこんにちはインターネットからビデオをダウンロードする小さな winrt アプリケーションがあり、backgrounddownloader と filesavepicker を一緒に実装しようとしていましたが、Google を検索し、Microsoft のドキュメントを検索しましたが、何も検索しなかったすべてのタイプの実装でエラーが発生しました。HttpClient クラス経由でダウンロードを実装しましたしかし、私が望むのはダウンロードの進行状況を取得することであり、HttpClientはそれを提供しません.Thxを事前に

4

1 に答える 1

0

これが簡単なサンプルです。その方法は次のとおりです。

// set download URI
var uri = new Uri("http://s3.amazonaws.com/thetabletshow/thetabletshow_0072_lhotka.mp3");
// get destination file
var picker = new FileSavePicker();
// set allowed extensions
picker.FileTypeChoices.Add("MP3", new List<string> { ".mp3" });
var file = await picker.PickSaveFileAsync();

// create a background download
var downloader = new BackgroundDownloader();
var download = downloader.CreateDownload(uri, file);

// create progress object
var progress = new Progress<DownloadOperation>();
// attach an event handler to get notified on progress
progress.ProgressChanged += (o, operation) => 
    { 
        // use the progress info in Progress.BytesReceived and Progress.TotalBytesToReceive
        ProgressText.Text = operation.Progress.BytesReceived.ToString(); 
    };
// start the actual download
await download.StartAsync().AsTask(progress);

これからは、必要に応じて変更できるはずです。

于 2013-05-24T05:08:16.383 に答える