【发布时间】:2017-08-03 12:53:34
【问题描述】:
目前我正在开发 UWP 应用程序,因为我需要将 pdf 和 word url 下载到系统下载文件夹,为此我正在尝试使用 backgrounddownloader 类,如下面的代码所示。
Uri source = new Uri(selectedfile.DocumentPath);
StorageFile destinationFile = await KnownFolders.PicturesLibrary.CreateFileAsync(
selectedfile.DocumentName, CreationCollisionOption.GenerateUniqueName);
BackgroundDownloader downloader = new BackgroundDownloader();
DownloadOperation download = downloader.CreateDownload(source, destinationFile);
我也在尝试另一种下载网址的方法是代码
var request = WebRequest.CreateHttp(selectedfile.DocumentPath);
var sampleFile = await KnownFolders.PicturesLibrary.CreateFileAsync(selectedfile.DocumentName, CreationCollisionOption.GenerateUniqueName);
var cli = new HttpClient();
var str = await cli.GetStreamAsync(request.RequestUri);
var dst = await sampleFile.OpenStreamForWriteAsync();
await str.AsInputStream().AsStreamForRead().CopyToAsync(dst);
对于使用上述两种方法,url可以下载为pdf和word,但我试图打开pdf文件和word文件但无法打开,它显示如下图trying to open the open downloaded file it shown like this所示的错误。任何人都可以帮助解决这个问题。我想下载文件,下载的文件也应该是打开的。
【问题讨论】:
-
你还没有发布完整的代码。使用第一种方法,是否等待下载完成?在第二个中,您是否关闭了目标流?
-
感谢您的回复,第一种方法我不等下载,它会自动下载并显示图片文件夹中的文件,我不知道以上方法是否正确,我是只是尝试这些方法。
-
应该是主机没有给你预期的文件,可能是一个html文件。用记事本打开下载的文件,你会发现,是不是这样。
-
我正在尝试用记事本打开下载文件,如下代码所示。 %PDF-1.6 %âãÏÓ 191 0 obj >流 hÞ241Q0P°±Ñw.JM,ÉÌÏsI,IÕp±22046032022²tÌÕÔ5!ªò‹4\ Üt#œ3óÒSŒõ4õ}óS:ÍL Í Mt L :ŠòSJ“SѵšèlRˆÑÏÌKÉ//V¨03‰ÑÔ´³0 R)E endstream endobj 192 0 obj >流 hÞ,ޱ
-
谁能告诉我上面的方法是下载文件的正确方法,还是在 UWP 中下载 PDF 和 Word 文件的任何其他方法