iOS使用WebView查看各类文档

现在人们已经习惯于使用手机来查看文档了,除了使用各个应用来打开office文档,iOS自身的WebView也支持打开查看大部分类型的office文档,当然他本身是用来打开HTML文件的,但也不妨碍对这个强大的功能加以利用嘛。

要成功打开文件,首先要找到文件,这里找到存放在沙盒路径中的文件并把路径换成URL格式:

//获取沙盒路径  
NSArray *docs = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);  
NSString *path = [docs[0] stringByAppendingPathComponent:fileName];  
//路径转为URL格式  
NSURL *fileURL = [NSURL fileURLWithPath:path];  

要换成URL是因为下面的步骤需要使用到它。文档的类型有很多种,要使用WebView打开各个类型的文档,就要告诉WebView,我们要打开的文件是什么类型的,这里用到了一个叫做MIMEType的东西,用来记录我们要打开的文件格式,并告知WebView怎么打开它,这个原先也是用在HTML中的,我们要获取它:

NSURLRequest *request = [NSURLRequest requestWithURL:fileURL];  
NSURLResponse *response = nil;  
[NSURLConnection sendSynchronousRequest:request returningResponse:&response error:nil];  
NSString *MIMEType = [response MIMEType];

之后开始设置我们的WebView并显示它:

//创建WebView并设置位置  
UIWebView webView = [[UIWebView alloc]initWithFrame:CGRectMake(0, 60, 320, 520)];  
通过路径读取文档数据  
NSData *tempData = [NSData dataWithContentsOfFile:path];  
将数据传给WebView显示,并且告知文档类型、编码格式  
[webView loadData:tempData MIMEType:MIMEType textEncodingName:@"UTF-8" baseURL:nil];  
//将WebView添加到视图中  
[self.view addSubview:webView]; 

这样就可以通过WebView将各种格式的文档显示出来了。这是一个快速开发显示文档的例子,不用根据每种文档格式来做对应的设置,调用自带的类,都很方便。但是要作为正式使用仍然缺了很多,所以要走的路还很长。


作者:http://www.jianshu.com/users/9ec19ab8c802/timeline

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,991评论 19 139
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,544评论 25 708
  • iOS开发系列--网络开发 概览 大部分应用程序都或多或少会牵扯到网络开发,例如说新浪微博、微信等,这些应用本身可...
    lichengjin阅读 3,721评论 2 7
  • 过去了,回不去了。 夜晚的小镇有着一股特殊的气息。 不繁华,此刻也灯火闪烁, 年轻人都是夜行动物,到了天黑的时候,...
    呆鱼啊阅读 266评论 0 0
  • 公司例会,多少人听到这句话就烦的。算上我一个,为什么会这样呢?大家为什么都不喜欢公司例会?每个人都有自己的原...
    叶小北_阅读 232评论 0 0