博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
通过UIWebView加载读取本地文件
阅读量:5874 次
发布时间:2019-06-19

本文共 2710 字,大约阅读时间需要 9 分钟。

通过UIWebView加载读取本地文件

      UIWebView是苹果自带的框架,也算是苹果程序内部的浏览器,可以浏览web网页,也可以打开HTML/HTM、PDF、docx、txt等格式的文本文件,其实苹果自带的浏览器Safari就是用UIWebView来实现的,具体原理简单的说就是服务器将MIME的标识符等放入传送的数据中,然后告诉浏览器使用哪种插件来读取相关对应的文件。

一、UIWebView通过loadRequest方法加载各种本地文件

       实例展示:

      (一)UIWebView通过loadRequest方法加载本地文件:

       1、首先把需要展示的文字放到word文档里面,然后保存文档内容之后,把word文档直接拖入到项目工程里面;

       2、然后再需要展示word内容的控制器里面,初始化一个webview,然后再用loadRequest方法加载word文档即可。

      (二)UIWebView通过loadRequest方法加载本地文件:

         1、首先把word内容放到测试服务器上面,然后把链接复制出来;

         2、然后再需要展示word内容的控制器里面,初始化一个webview,然后再用loadRequest方法加载word文档即可。

   NSURL *url = [NSURL URLWithString:@"http://test.tea.com.cn:88/static/upload/使用说明.doc"];

    [webView loadRequest:[NSURLRequest requestWithURL:url]];
    webView.delegate = self;
    NSData *data = [[NSData alloc] initWithContentsOfURL:url];

    UIWebView *webView = [[UIWebView alloc] initWithFrame:CGRectMake(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT)];

    [self.view addSubview:webView];

二、UIWebView通过loadData方法加载各种本地文件

      1、加载docx文件:

NSString *path = [[NSBundle mainBundle] pathForResource:@"使用说明.docx" ofType:nil];   NSURL *url = [NSURL fileURLWithPath:path];      NSData *data = [NSData dataWithContentsOfFile:path];   [self.webView loadData:data MIMEType:@"application/vnd.openxmlformats-officedocument.wordprocessingml.document" textEncodingName:@"UTF-8" baseURL:nil];

 

     2、加载pdf文件:

NSString *path = [[NSBundle mainBundle] pathForResource:@"使用说明.pdf" ofType:nil];       NSURL *url = [NSURL fileURLWithPath:path];       NSData *data = [NSData dataWithContentsOfFile:path];       [self.webView loadData:data MIMEType:@"application/pdf" textEncodingName:@"UTF-8" baseURL:nil];

 

     3、加载txt文件:

NSString *path = [[NSBundle mainBundle] pathForResource:@"使用说明.txt" ofType:nil];       NSURL *url = [NSURL fileURLWithPath:path];       NSData *data = [NSData dataWithContentsOfFile:path];      [self.webView loadData:data MIMEType:@"text/plain" textEncodingName:@"UTF-8" baseURL:nil];

 

     4、加载html文件:

NSString *path = [[NSBundle mainBundle] pathForResource:@"使用说明.html" ofType:nil];      NSURL *url = [NSURL fileURLWithPath:path];      NSData *data = [NSData dataWithContentsOfFile:path];      [self.webView loadData:data MIMEType:@"text/html" textEncodingName:@"UTF-8" baseURL:nil];

 

     5、获取指定URL的MIMEType类型

- (NSString *)mimeType:(NSURL *)url {         NSURLRequest *request = [NSURLRequest requestWithURL:url];  //2.NSURLConnection          //3.在NSURLResponse里,服务器告诉浏览器用啥方式打开文件,使用同步方法后去MIMEType  NSURLResponse *response = nil;         [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:nil];         return response.MIMEType;

 

三、总结

UIWebView加载内容的三种方式:

1 、加载本地数据文件,指定文件的MIMEType,编码格式使用@“UTF-8”  ;
2、加载html字符串(可以加载全部或者部分html文件);
3、加载NSURLRequest文件(前两步与NSURLConnect相同)。

转载于:https://www.cnblogs.com/OIMM/p/11018294.html

你可能感兴趣的文章
C#语法之特性
查看>>
C#中使用aria2c进行下载并显示进度条
查看>>
鞋业管理系统定期执行任务
查看>>
2016教师节微信祝福语大全
查看>>
【转】随机函数的rand、srand用法
查看>>
Nginx: could not build the server_names_hash 解决办法
查看>>
P4factory <Integration with Mininet>
查看>>
Ubuntu16.04下搭建Go语言环境
查看>>
.NetCore~Linux环境下部署
查看>>
eclipse调试(debug)的时候,出现Source not found,Edit Source Lookup Path,一闪而过
查看>>
Html5视频播放器-VideoJS+Audio标签实现视频,音频及字幕同步播放
查看>>
Kafka消息模拟器
查看>>
Linux常用基本命令(cat)
查看>>
HTML5 Canvas游戏开发实战
查看>>
转-玩转git,让git成为个人工作备份利器
查看>>
extjs4 系列文章
查看>>
nginx设置http代理
查看>>
【C011】Python - 基础教程学习(二)
查看>>
byte数组转换成16进制字符串和字符数组的方法
查看>>
(转)介绍下Nuget在传统Asp.net项目中的使用
查看>>