在UWP中将pdf下载到LocalFolder

时间:2018-03-22 14:46:04

标签: c# pdf download uwp

我是一个UWP应用程序,它将pdf文件从网站下载到ApplicationData.Current.LocalFolder,但是当我使用资源管理器打开下载的文件时,它的大小总是0KB而且它不能被打开了。 为了下载,我使用了以下代码:

using System.Diagnostics;
using Windows.Networking.BackgroundTransfer;
using Windows.Storage;

private async void Button_Click(object sender, RoutedEventArgs e)
{
    try
    {
        Uri source = new Uri("http://www.sachsen.schule/~goethe-gym-auerbach/vplan/VertretungsplanMo.pdf");
        StorageFile destinationFile = await ApplicationData.Current.LocalFolder.CreateFileAsync("VertretungsplanMo.pdf", CreationCollisionOption.ReplaceExisting);                       
        BackgroundDownloader downloader = new BackgroundDownloader();
        DownloadOperation download = downloader.CreateDownload(source, destinationFile);
        Debug.WriteLine("Download successfull");
    }
    catch (Exception ex)
    {
        Debug.WriteLine("Download error. Exception: " + ex);
    }
}

虽然我从未收到过下载错误,但该文件始终为0 KB。

1 个答案:

答案 0 :(得分:0)

您忘记致电download.StartAsync()

除了BackgroundDownload api非常强大,因为它将确保在应用程序未运行时也下载文件。但他们也不那么容易。因此,为了简单起见,我建议仅使用HttpClient或使用backgrounddownloader检查一些示例。

有关background tranfser

的更多示例,请参阅https://github.com/Microsoft/Windows-universal-samples/tree/master/Samples/BackgroundTransfer