在iPhone中使用Webview查看.doc,.docx,.rtf,.ppt文件

我想在iphone中查看.doc,.docx,.rtf,.ppt文件。

但我猜想我的身边出了问题,它不适用于上述格式,但我的代码对于.txt和.pdf文件工作正常。

我已阅读关于Webview的文档,它声明它支持查看上述文档。

下面是我的.doc片段

[webView loadData:requestData MIMEType:@"application/msword" textEncodingName:@"UTF-8" baseURL:nil];

.ppt我使用MIME类型作为"application/vnd.ms-powerpoint"

注意:如果我为.doc / .rtf将MIME类型设置为“text / html”,那么它会显示一些垃圾数据所以我认为在我的身边有一些MIME类型丢失。

任何帮助,高度赞赏。

等待你的回复。

更新 :........

似乎NSData打开这些类型的文件格式有一些问题。 我的数据是加密的,所以我不能直接使用requestWithURL ,而其他的事情是我需要传递凭据来获取文件和证书不起作用proplerly,如果我保存凭据使用

[[NSURLCredentialStorage sharedCredentialStorage] setDefaultCredential:credential
                                        forProtectionSpace:protectionSpace];

然后使用下面的请求

[webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:[urlStr stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]]] ]

有没有什么办法可以将NSData用于上述格式,以便我可以进行异步调用并传递我的凭据,然后解密数据并在WebView中显示它。


并非所有这些格式(docx)都受支持。 这看起来像官方的话。 在这个例子中,Apple没有指定MIME类型。

这个问题表明你必须使用NSURLRequest而不是loadData。

编辑:

据我所见,你不能直接将数据传递给这些类型的loadData。

简单的解决方法是写入临时文件。 您可以在webViewDidFinishLoad中删除它,或者在技术上,只要打开文件即可。

艰苦的工作是使用NSURLCache。 你应该能够实现一个自定义的NSURLCache并让WebKit通过setSharedURLCache来使用它。 你的缓存基本上知道如何获得你的本地加密文件并假装它们被缓存。 我没有尝试过,但我认为这是你最好的选择。 这种方法可能会像loadData一样被阻塞。


尝试使用QuickLook框架,这是Apple提供的一项惊人功能。 如果你看到这样的情况,当你在MAC系统上选择任意文件并点击空格键时,你将快速预览你的文件,它可能是任何东西...... * .pdf,* .doc,* .docx或任何东西。即使你没有安装这些软件的相同文件,你会得到这些文件的预览...

QuickLook框架也提供了相同的功能...请通过一些相同的链接。

  • http://robsprogramknowledge.blogspot.com/2011/02/quick-look-for-ios_21.html
  • https://github.com/rob-brown/Demos
  • https://github.com/rob-brown/RBFilePreviewer
  • http://robsprogramknowledge.blogspot.com/2011/02/quick-look-for-ios_21.html
  • (推荐..)http://iosdevelopertips.com/data-file-management/preview-documents-with-qlpreviewcontroller.html

  • 你需要提供一些东西给baseURL :. 例如:

    [webView loadData:requestData MIMEType:@"application/msword" textEncodingName:@"UTF-8" baseURL:[NSURL URLWithString:@"http://localhost/"]];
    

    现在适合我。

    链接地址: http://www.djcxy.com/p/45443.html

    上一篇: view .doc, .docx, .rtf, .ppt file in iphone using Webview

    下一篇: how to make intent.setType for pdf,xlsx and txt file android?