适用于 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 上运行 [关闭]

适用于 Windows 8.1 应用商店应用的蓝牙低功耗服装服务设备发现和开发

适用于 Windows Phone 8.1 的后台媒体播放器中的无缝循环