ios网络学习------4 UIWebView的加载本地数据的三种方式
生活随笔
收集整理的這篇文章主要介紹了
ios网络学习------4 UIWebView的加载本地数据的三种方式
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
? -?(void)viewDidLoad?? {?? ????[super?viewDidLoad];?? ????[self?setupUI];?? ?????? ????NSString?*path?=?[[NSBundle?mainBundle]?pathForResource:@"關于.docx"?ofType:nil];?? ????NSURL?*url?=?[NSURL?fileURLWithPath:path];?? ????NSLog(@"%@",?[self?mimeType:url]);?? ?????? ?????? ????//webview加載本地文件,可以使用加載數據的方式?? ????//第一個誒參數是一個NSData,?本地文件對應的數據?? ????//第二個參數是MIMEType?? ????//第三個參數是編碼格式?? ????//相對地址,一般加載本地文件不使用,可以在指定的baseURL中查找相關文件。?? ?????? ????//以二進制數據的形式加載沙箱中的文件,?? ????NSData?*data?=?[NSData?dataWithContentsOfFile:path];?? ?????? ????[self.webView?loadData:data?MIMEType:@"application/vnd.openxmlformats-officedocument.wordprocessingml.document"?textEncodingName:@"UTF-8"?baseURL:nil];?? }?? ?? #pragma?mark?加載docx文件?? -?(void)loadDOCX?? {?? ?????? ????NSString?*path?=?[[NSBundle?mainBundle]?pathForResource:@"關于.docx"?ofType:nil];?? ????NSURL?*url?=?[NSURL?fileURLWithPath:path];?? ????NSLog(@"%@",?[self?mimeType:url]);?? ?? ????NSData?*data?=?[NSData?dataWithContentsOfFile:path];?? ?????? ????[self.webView?loadData:data?MIMEType:@"application/vnd.openxmlformats-officedocument.wordprocessingml.document"?textEncodingName:@"UTF-8"?baseURL:nil];}?? ?? #pragma?mark?加載pdf文件?? -?(void)loadPDF?? {?? ????NSString?*path?=?[[NSBundle?mainBundle]?pathForResource:@"iOS6Cookbook.pdf"?ofType:nil];?? ????NSURL?*url?=?[NSURL?fileURLWithPath:path];?? ????NSLog(@"%@",?[self?mimeType:url]);?? ?????? ????NSData?*data?=?[NSData?dataWithContentsOfFile:path];?? ?????? ????[self.webView?loadData:data?MIMEType:@"application/pdf"?textEncodingName:@"UTF-8"?baseURL:nil];?? }?? ?? #pragma?mark?加載本地文本文件?? -?(void)loadText?? {?? ????NSString?*path?=?[[NSBundle?mainBundle]?pathForResource:@"關于.txt"?ofType:nil];?? ????NSURL?*url?=?[NSURL?fileURLWithPath:path];?? ????NSLog(@"%@",?[self?mimeType:url]);?? ?? ????NSData?*data?=?[NSData?dataWithContentsOfFile:path];?? ?????? ????[self.webView?loadData:data?MIMEType:@"text/plain"?textEncodingName:@"UTF-8"?baseURL:nil];?? }?? ?? ?? #pragma?mark?加載本地html文件?? -?(void)loadHTML?? {?? ????NSString?*path?=?[[NSBundle?mainBundle]?pathForResource:@"demo.html"?ofType:nil];?? ????NSURL?*url?=?[NSURL?fileURLWithPath:path];?? ????NSLog(@"%@",?[self?mimeType:url]);?? ?????? ????NSData?*data?=?[NSData?dataWithContentsOfFile:path];?? ?????? ????[self.webView?loadData:data?MIMEType:@"text/html"?textEncodingName:@"UTF-8"?baseURL:nil];?? }?? ?? ?? #pragma?mark?獲取指定URL的MIMEType類型?? -?(NSString?*)mimeType:(NSURL?*)url?? {?? ????//1NSURLRequest?? ????NSURLRequest?*request?=?[NSURLRequest?requestWithURL:url];?? ????//2NSURLConnection?? ?????? ????//3?在NSURLResponse里,服務器告訴瀏覽器用什么方式打開文件。?? ?????? ????//使用同步方法后去MIMEType?? ????NSURLResponse?*response?=?nil;?? ????[NSURLConnection?sendSynchronousRequest:request?returningResponse:&response?error:nil];?? ????return?response.MIMEType;?? }??
-?(void)viewDidLoad?? {?? ????[super?viewDidLoad];?? ????[self?setupUI];?? ?????? ?????? ????//加載路徑的第一個方式?? //????NSString?*path?=?[[NSBundle?mainBundle]?pathForResource:@"關于.docx"?ofType:nil];?? //????NSURL?*url?=?[NSURL?fileURLWithPath:path];?? ????//加載路徑的第二個方式?? ????NSURL?*url?=?[[NSBundle?mainBundle]?URLForResource:@"iOS6Cookbook.pdf"?withExtension:nil];?? ?????? ????//uiwebview加載文件的第二個方式。第一個方式在下面的注釋中。?? ????NSURLRequest?*request?=?[NSURLRequest?requestWithURL:url];?? ????[self.webView?loadRequest:request];?? ?????? ????//NSLog(@"%@",?[self?mimeType:url]);?? ????//webview加載本地文件,可以使用加載數據的方式?? ????//第一個誒參數是一個NSData,?本地文件對應的數據?? ????//第二個參數是MIMEType?? ????//第三個參數是編碼格式?? ????//相對地址,一般加載本地文件不使用,可以在指定的baseURL中查找相關文件。?? ?????? ????//以二進制數據的形式加載沙箱中的文件,?? //????NSData?*data?=?[NSData?dataWithContentsOfFile:path];?? //?????? //????[self.webView?loadData:data?MIMEType:@"application/vnd.openxmlformats-officedocument.wordprocessingml.document"?textEncodingName:@"UTF-8"?baseURL:nil];?? }??
ios網絡學習------4 UIWebView的加載本地數據的三種方式
分類:?IOS2014-06-27 12:56?959人閱讀?評論(0)?收藏?舉報UIWebView是IOS內置的瀏覽器,可以瀏覽網頁,打開文檔 ?html/htm ?pdf ? docx ?txt等格式的文件。 ?safari瀏覽器就是通過UIWebView做的。
服務器將MIME的標識符等放入傳送的數據中告訴瀏覽器使用那種插件讀取相關文件。
?
uiwebview加載各種本地文件(通過loadData方法):
?
[objc]?view plaincopy?
?
uiwebview加載各種本地文件(通過loadRequest方法):?
[objc]?view plaincopy?
?
UIWebView加載內容的三種方式:
1 加載本地數據文件
? ? ? ?指定文件的MIMEType
編碼格式使用@“UTF-8” ? ? ?
2加載html字符串(可以加載全部或者部分html文件)
?
3加載NSURLRequest文件(前兩步與NSURLConnect相同)
?
?
轉載于:https://www.cnblogs.com/Peak-Banish/p/4062444.html
總結
以上是生活随笔為你收集整理的ios网络学习------4 UIWebView的加载本地数据的三种方式的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 判断字符串的长度,中文占两个字符
- 下一篇: 使用Ajax的Time实现倒计时功能