UIWebview(iOS)中的Docx支持?

我已经检查了文档支持的官方链接,并清楚UIWebview中不支持docx,

https://developer.apple.com/library/ios/qa/qa1630/_index.html

但是,我也发现有些人能够在UIWebview中打开docx文件,

Cannot open docx file through webbrowser in app using OpenIn functionality,
Why doc and docx losing style information in iOS?,
How to open Microsoft Office documents in iPhone

另外,iOS Safari浏览器是基于UIWebview建立的,我可以在浏览器中从互联网上打开docx文件.
但是当我从我的测试服务器下载docx时(我已经通过从模拟器导入它来交叉检查下载的docx并且它在我的mac上完全打开),我无法在UIWebview中查看它.

我很迷惑,
docx是否支持
或者似乎docx有更多种格式,有些格式支持

这是我的加载代码,

NSURLRequest *request = [NSURLRequest requestWithURL:urlPath];
    [webViewForDocsView loadRequest:request];

解决方法

不知道为什么但是使用URL方案加载docx没有用,(下面代码没有用)
NSURLRequest *request = [NSURLRequest requestWithURL:urlPath];
[webViewForDocsView loadRequest:request];

而是将文件加载到内存中(使用NSData)并加载MIME类型的数据(下面的代码就像魅力!)

Nsstring *path = [urlFileInView path];
NSData *data = [[NSFileManager defaultManager] contentsAtPath:path];


webViewForDocsView.delegate = self;
[webViewForDocsView loadData:data MIMEType:@"application/vnd.openxmlformats-officedocument.wordprocessingml.document" textEncodingName:@"UTF-8" baseURL:nil];

相关文章

UITabBarController 是 iOS 中用于管理和显示选项卡界面的一...
UITableView的重用机制避免了频繁创建和销毁单元格的开销,使...
Objective-C中,类的实例变量(instance variables)和属性(...
从内存管理的角度来看,block可以作为方法的传入参数是因为b...
WKWebView 是 iOS 开发中用于显示网页内容的组件,它是在 iO...
OC中常用的多线程编程技术: 1. NSThread NSThread是Objecti...