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

 

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 }

 

posted @ 2014-09-10 10:17  Agenric  阅读(380)  评论(0)    收藏  举报