在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框架也提供了相同的功能...请通过一些相同的链接。
你需要提供一些东西给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?