我有一个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。
发布于 2018-03-22 15:01:38
你忘了打电话给download.StartAsync()
除此之外,BackgroundDownload api非常强大,因为它将确保在应用程序未运行时也会下载文件。但它们也不是那么容易。因此,为了简单起见,我建议只使用HttpClient,或者使用背景下载程序检查一些示例。
有关背景转换程序的更多示例,请参见https://github.com/Microsoft/Windows-universal-samples/tree/master/Samples/BackgroundTransfer。
https://stackoverflow.com/questions/49431603
复制相似问题