2016-05-06 4 views
0

В настоящее время я работаю над приложением UWP. Это приложение содержит руководства пользователя, которые являются файлами PDF. Мне нужно открыть PDF-файл в браузере и открыть его в папке с загрузкой. Ссылка на PDF находится здесь: https://mysite.azurewebsites.net/Content/manuals/01-Introduction.pdfUWP Сохранить 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); 
     } 

Арретир где я затем открыть файл в браузере, все что мне нужно сейчас, чтобы сохранить этот PDF в папку Downloads. «ManualFile.txt» будет изменен на имя сохраненного PDF-файла, поэтому, когда он находится в папке «Загрузка», проверка должна найти файл. Любая помощь была бы высоко оценена!

+0

Где эти pdf-файлы будут ?. Вам нужно создать поток из него. Затем сохраните его на устройстве – Archana

+0

@LovetoCode. PDF-файлы находятся на веб-сайте (отсюда и URL-адрес). Я совершенно новичок в кодировании, поэтому на самом деле не уверен, что такое создание потока? У вас есть дополнительная информация или, возможно, ссылка на сайт? Благодаря! –

ответ

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)); 
Смежные вопросы