如何在不保存到磁盘的情况下显示包含MS Office文档的NSData对象?

时间:2011-12-09 22:43:35

标签: iphone uiwebview mime-types nsdata

我有一个NSData对象,它包含我想要显示的MS Office Word文档的内容 - 使用UIWebView。

我正在使用以下命令:

  

[self.webView loadData:data MIMEType:@“application / msword”   textEncodingName:@“utf-8”baseURL:nil];

不幸的是,我得到一个空屏幕。

如果我尝试将数据保存到文件并使用UIWebView的requestWithURL:url方法打开文件 - 该文件打开就好了。 但是,应用程序必须从内存中的数据加载文件,而不是以任何方式将数据保存到设备上的文件中。

我需要显示加载包含MS Office文档的NSData对象而不必先将数据保存在设备上?

2 个答案:

答案 0 :(得分:2)

尝试改为:

[self.webView loadData:data MIMEType:@"application/msword" textEncodingName:@"utf-8" baseURL:[NSURL URLWithString:@""]];

nil导致UIWebView无法加载某些类型。不确定,但我有类似的问题。这解决了他们。

答案 1 :(得分:0)

通过设置正确的MIMEtype,还有一种方法可以打开office文档。对于Excel / ppt和其他类似msword。



NSString *mimtype = @"application/vnd.openxmlformats-officedocument.wordprocessingml.document";
self.webView.delegate = self;

[self.webView loadData:data MIMEType:mimtype textEncodingName:@"UTF-8" baseURL:nil];




这也适用于docx。

谢谢,