Ekr*_*kra 5 iphone iphone-sdk-3.0
我想在iphone中查看.doc,.docx,.rtf,.ppt文件.
但是我觉得有些问题在我身边出现了问题并且不适用于上述格式,但我的代码对.txt和.pdf文件工作正常.
我已阅读有关Webview的文档,它声明它支持查看上述文档.
下面是我的.doc片段
[webView loadData:requestData MIMEType:@"application/msword" textEncodingName:@"UTF-8" baseURL:nil];
Run Code Online (Sandbox Code Playgroud)
for .ppt我使用的是MIME类型 "application/vnd.ms-powerpoint"
注意:如果我为.doc/.rtf创建MIME类型为"text/html",那么它会显示一些垃圾数据所以我认为MIME类型中缺少一些东西.
任何帮助都非常感谢.
等待你的回复.
更新:........
对于打开这些类型的文件格式,NSData似乎存在一些问题.我的数据是加密的,所以我不能直接使用 requestWithURL,其他的事情是我需要传递凭据来获取文件,如果我使用凭据保存凭据,凭据就不能正常工作
[[NSURLCredentialStorage sharedCredentialStorage] setDefaultCredential:credential
forProtectionSpace:protectionSpace];
Run Code Online (Sandbox Code Playgroud)
然后使用下面的请求
[webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:[urlStr stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]]] ]
Run Code Online (Sandbox Code Playgroud)
有没有什么办法可以将NSData用于上述格式,这样我就可以进行异步调用并传递我的凭据,然后解密数据并在WebView中显示它.
尝试使用QuickLook框架,这是Apple提供的一项了不起的功能.如果您已经看到这一点,当您在MAC系统上选择任何文件并单击空格键时,您将快速预览您的文件,它可能是任何东西......*.pdf,*.doc,*.docx或任何东西. ..即使您没有为相同的文件安装这些软件,您也会获得这些文件的预览...
QuickLook框架也提供相同的功能...请仔细阅读相同的链接..
并非所有这些格式 (docx) 都受支持。这看起来像是官方的说法。在示例中,Apple 没有指定 mime 类型。
这个问题表明您必须使用 NSURLRequest 而不是 loadData。
编辑:
据我所知,您不能直接将这些类型的数据传递给 loadData。
简单的解决方法是写入临时文件。您可以在 webViewDidFinishLoad 中删除它,或者从技术上讲,在文件打开后立即删除它。
困难的解决方法是使用 NSURLCache。您应该能够实现自定义 NSURLCache 并让 WebKit 通过 setSharedURLCache 使用它。您的缓存基本上知道如何获取本地加密文件并假装它们已被缓存。我没有尝试过这个,但我认为这是你最好的选择。这种方法可能会像 loadData 一样被阻止。
| 归档时间: |
|
| 查看次数: |
9937 次 |
| 最近记录: |