iOS中UIWebView加载数据的三种方式

本文介绍了如何在iOS应用中通过使用NSFileManager和UIWebView加载本地文件和HTML字符串的方法,包括加载本地文件为NSData,加载HTML字符串到UIWebView,以及获取指定URL的MIMEType类型。

 

1. 加载本地数据文件

 1 - (void)loadLocal
 2 {
 3   NSString *path = [[NSBundle mainBundle] pathForResource:@"fileName.txt" ofType:nil];
 4   NSURL *url = [NSURL fileURLWithPath:path];
 5   // 以二进制的形式加载沙箱中的文件
 6   NSData *data = [NSData dataWithContentsOfFile:path];
 7   /*
 8   加载文件方法的各参数
 9   1.NSData 本地文件对应得数据
10   2.MIMEType
11   3.编码格式字符串
12   4.相对地址,一般加载本地文件不使用,可以在制定的baseURL中查找相关文件
13   */
14   [self.webView loadData:data MIMEType:@"text/plain" textEncodingName@"UTF-8" baseURL:nil];
15 }

 

2. 加载html字符串

 1 - (void)loadHTMLString
 2 {
 3     // HTML5
 4     // 直接加载HTML字符串,完整的html
 5     NSString *str = @"<html><head><title>test</title></head><body><h1>Hello World!</h1></body></html>";
 6     
 7     // 部分html
 8     NSString *str1 = @"<h1>Hello World!</h1>";
 9     [self.webView loadHTMLString:str1 baseURL:nil];
10 }

 

3. 加载NSURLRequest

1 - (void)loadRequest
2 {
3     NSURL *url = [[NSBundle mainBundle]URLForResource:@"fileName.pdf" withExtension:nil];
4     NSURLRequest *request = [NSURLRequest requestWithURL:url];
5     [self.webView loadRequest:request];
6 }

 

*补充:获取指定URL的MIMEType类型

 1 - (void)viewDidLoad
 2 {
 3     [super viewDidLoad];
 4 
 5     NSString *path = [[NSBundle mainBundle] pathForResource:@"fileName.docx" ofType:nil];
 6     NSURL *url = [NSURL fileURLWithPath:path];
 7     NSLog(@"%@", [self mimeType:url]);
 8 }
 9 
10 - (NSString *)mimeType:(NSURL *)url
11 {
12     // 1. NSURLRequest
13     NSURLRequest *request = [NSURLRequest requestWithURL:url];
14     
15     // 2. NSURLConnection
16     // 从NSURLResponse可以获取到服务器返回的MIMEType
17     // 使用同步方法获取MIMEType
18     NSURLResponse *response = nil;
19     
20     [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:nil];
21     
22     return response.MIMEType;
23 }

 

转载于:https://www.cnblogs.com/agenric/p/3963896.html

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值