适用于 Windows 8.1 的 MIME pdf
Posted
技术标签:
【中文标题】适用于 Windows 8.1 的 MIME pdf【英文标题】:MIME pdf for windows 8.1 【发布时间】:2015-01-14 13:17:52 【问题描述】:我正在使用 MIME 来确定将用于在 Windows 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 会出现关于文件格式问题的错误。
关于 pdf 文件与 windows 8 有什么特别的关系吗?
【问题讨论】:
能否提供错误日志...? 我不明白您为什么要更改 PDF 的内容类型 - 它已经具有适当的 MIME 类型。 @optimus Windows 提供给我的唯一消息是此文件的格式错误。打开 PDF Reader 时发生错误,是 PDF Reader 引发此错误,而不是我的代码。 @MattSmall 因为没有这个,当我试图打开我的文件时,没有设置任何程序来打开它......顺便说一句,我从 Sharepoint 文档库中获取所有文件。我注意到我没有具体说明。共享点版本是 2010。 您尝试过以下方法吗? 1. 检查文件是否正确下载,是否为 PDF 文件。 2.尝试缓存下载的文件并尝试手动打开。 3.尝试手动打开文件。 4. PDF 查看器可能不支持直接从互联网打开文件。尝试自己在本地下载文件(在您的应用内)并使用本地路径启动阅读器。 【参考方案1】:你必须改变最后一行
await Windows.System.Launcher.LaunchUriAsync(new Uri(fileUrl), options);
【讨论】:
如果我的第一个参数被称为 uri,那是有原因的......顺便说一下,我已经指定所有其他文件扩展名都有效【参考方案2】:你可以试试这个:
await Windows.System.Launcher.LaunchFileAsync(pdffile);
或者这个
options.ContentType = "application/x-pdf";
【讨论】:
LaunchFileAsync 需要存储在 IStorageFile 中的下载文件。在这里,我正在寻找流数据。关于“application/x-pdf”它什么也不做。好像系统无法识别【参考方案3】:可能是注册表有问题,试试这个:
1) 打开注册表编辑器 (regedit.exe) 并导航到以下键:[HKEY_CLASSES_ROOT.PDF]
2) 双击(默认)值将其数据设置为:"AcroExch.Document.11"(不带引号)
3) 关闭 Regedit.exe
4) 重新启动 Windows。
【讨论】:
在注册表中启动研究后,此键未知。 搜索“.pdf”然后按照上面的步骤,把key改成“.pdf”而不是“.pdfxml” 查看截图。以上是关于适用于 Windows 8.1 的 MIME pdf的主要内容,如果未能解决你的问题,请参考以下文章
xml 适用于Windows 8.1和Windows Phone 8.1应用程序的扩展器控件的模板。
适用于 Windows 商店 8.1 的 Windows Azure node.js 推送通知 - 如何使用“createRawTemplateRegistration”模板?
适用于 Windows Phone 8.1 的 XMPP 库
适用于 Windows 8.1 的 Nvidia GeForce 驱动程序无法在 Windows 10 上运行 [关闭]