我目前正在开发一个UWP应用程序。这个应用程序的用户手册是PDF文件。我需要能够在浏览器中打开PDF,并在打开后将其保存到下载文件夹中。 PDF的链接在这里: https://mysite.azurewebsites.net/Content/manuals/01-Introduction.pdf
在我打开它之前,我会检查文件是否已保存到设备上。如果找不到该文件,我将打开PDF,并需要自动将其保存到所需的文件夹(此时只是下载)。 我已经在这里试了一下检查:
try {
var ManualFile = await DownloadsFolder.CreateFileAsync("ManualFile.txt", CreationCollisionOption.FailIfExists);
}
catch
{
var uriBing = new Uri(@"https://mysite.azurewebsites.net/Content/manuals/01-Introduction.pdf");
var success = await Windows.System.Launcher.LaunchUriAsync(uriBing);
}
Catch是我在浏览器中打开文件的地方,我现在需要的是将此PDF保存到下载文件夹。 “ManualFile.txt”将更改为保存的PDF的名称,因此一旦它位于Downloads文件夹中,检查就会找到该文件。 任何帮助将不胜感激!
答案 0 :(得分:2)
我认为您只需要在程序中复制文件,而不是使用PDF浏览器进行另存为。例如:
var uriBing = new Uri(@"https://mysite.azurewebsites.net/manuals/01-Introduction.pdf");
try
{
var ManualFile = await DownloadsFolder.CreateFileAsync("ManualFile.pdf", CreationCollisionOption.FailIfExists);
var cli = new HttpClient();
var str = await cli.GetInputStreamAsync(uriBing);
var dst = await ManualFile.OpenStreamForWriteAsync();
str.AsStreamForRead().CopyTo(dst);
}
catch { }
var success = await Windows.System.Launcher.LaunchUriAsync(uriBing));