2014-11-17 1 views
2

Я использую MIME для определения приложения, которое будет использоваться для открытия файла в библиотеке документов для приложения Windows 8.1.MIME pdf для окон 8.1

switch (extension) 
     { 
      case "DOCX": 
       options.ContentType = "application/vnd.ms-word.document.12"; 
       break; 
      case "EXCEL": 
       options.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"; 
       break; 
      case "PPT": 
       options.ContentType = "application/vnd.openxmlformats-officedocument.presentationml.presentation"; 
       break; 
      case "PDF": 
       options.ContentType = "application/pdf"; 
       break; 
     } 

     await Windows.System.Launcher.LaunchUriAsync(uri, options); 

Все отлично работает, за исключением файла pdf.

После открытия Windows 8 возникает ошибка в проблеме с файлом.

Есть ли что-то особенное, что делать с окнами 8 о файле pdf?

+0

Можете ли вы предоставить журнал ошибок ...? – optimus

+0

Я не понимаю, почему вы меняете тип содержимого для PDF-файла - он уже имеет соответствующий тип MIME. –

+0

@optimus единственное сообщение, которое Windows предоставляет мне, это ошибка формата с этим файлом. Ошибка возникла, когда PDF Reader открыт, и это Reader Reader, который вызывает эту ошибку, а не мой код. – 3wic

ответ

0

Вы должны изменить последнюю строчку

await Windows.System.Launcher.LaunchUriAsync(new Uri(fileUrl), options); 
+0

Если мой первый параметр называется uri, это по какой-то причине ... И, кстати, я указал, что все остальные расширения файлов работают – 3wic

0

вы могли бы попробовать это:

await Windows.System.Launcher.LaunchFileAsync(pdffile); 

или это один

options.ContentType = "application/x-pdf"; 
+0

Для запуска LaunchFileAsync требуется загруженный файл, хранящийся в файле IStorageFile. Здесь я ищу потоковые данные. О «application/x-pdf» он просто ничего не делает. Похоже, что система не распознается – 3wic

0

Может быть, есть проблема в реестре, попробуйте это:

1) Откройте редактор реестра (regedit.exe) и перейдите к следующему разделу: [HKEY_CLASSES_ROOT.PDF]

enter image description here

2) Дважды щелкните (по умолчанию) значение, установленное свои данные, как : "AcroExch.Document.11" (без кавычек)

enter image description here

3) Закрыть Regedit.exe

4) Перезагрузите Windows.

+0

После запуска исследования в реестре этот ключ неизвестен. – 3wic

+0

Найдите «.pdf», а затем выполните действия, описанные выше, измените ключ «.pdf» не «.pdfxml» –

+1

Посмотрите скриншоты. –