通過UIWebView載入讀取本地檔案

2022-05-08 23:18:07 字數 3085 閱讀 9369

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:@"使用說明.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:@"

" 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:@"

" 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];

//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相同)。

UIWebView載入Loading 兩種方法

from 第一種方法 使用uiview and uiactivityindicatorview 建立uiwebview webview uiwebview alloc initwithframe cgrectmake 0 44 320 400 webview setuserinteractionen...

UIWebView載入Loading 兩種方法

uiwebview載入loading.兩種方法 第一種方法 使用uiview and uiactivityindicatorview 建立uiwebview webview uiwebview alloc initwithframe cgrectmake 0,44,320,400 webview s...

UIWebView載入Loading 兩種方法

第一種方法 使用uiview and uiactivityindicatorview 建立uiwebview webview uiwebview alloc initwithframe cgrectmake 0,44,320,400 webview setuserinteractionenabled...