我是一个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。
答案 0 :(得分:0)
您忘记致电download.StartAsync()
除了BackgroundDownload api非常强大,因为它将确保在应用程序未运行时也下载文件。但他们也不那么容易。因此,为了简单起见,我建议仅使用HttpClient
或使用backgrounddownloader检查一些示例。
有关background tranfser
的更多示例,请参阅https://github.com/Microsoft/Windows-universal-samples/tree/master/Samples/BackgroundTransfer