UIWebview加載各種本地文件(通過loadData方法和通過loadRequest方法)


 

uiwebview加載各種本地文件(通過loadData方法):

 

[objc]  view plain  copy
 在CODE上查看代碼片派生到我的代碼片
  1. - (void)viewDidLoad  
  2. {  
  3.     [super viewDidLoad];  
  4.     [self setupUI];  
  5.       
  6.     NSString *path = [[NSBundle mainBundle] pathForResource:@"關於.docx" ofType:nil];  
  7.     NSURL *url = [NSURL fileURLWithPath:path];  
  8.     NSLog(@"%@", [self mimeType:url]);  
  9.       
  10.       
  11.     //webview加載本地文件,可以使用加載數據的方式  
  12.     //第一個誒參數是一個NSData, 本地文件對應的數據  
  13.     //第二個參數是MIMEType  
  14.     //第三個參數是編碼格式  
  15.     //相對地址,一般加載本地文件不使用,可以在指定的baseURL中查找相關文件。  
  16.       
  17.     //以二進制數據的形式加載沙箱中的文件,  
  18.     NSData *data = [NSData dataWithContentsOfFile:path];  
  19.       
  20.     [self.webView loadData:data MIMEType:@"application/vnd.openxmlformats-officedocument.wordprocessingml.document" textEncodingName:@"UTF-8" baseURL:nil];  
  21. }  
  22.   
  23. #pragma mark 加載docx文件  
  24. - (void)loadDOCX  
  25. {  
  26.       
  27.     NSString *path = [[NSBundle mainBundle] pathForResource:@"關於.docx" ofType:nil];  
  28.     NSURL *url = [NSURL fileURLWithPath:path];  
  29.     NSLog(@"%@", [self mimeType:url]);  
  30.   
  31.     NSData *data = [NSData dataWithContentsOfFile:path];  
  32.       
  33.     [self.webView loadData:data MIMEType:@"application/vnd.openxmlformats-officedocument.wordprocessingml.document" textEncodingName:@"UTF-8" baseURL:nil];}  
  34.   
  35. #pragma mark 加載pdf文件  
  36. - (void)loadPDF  
  37. {  
  38.     NSString *path = [[NSBundle mainBundle] pathForResource:@"iOS6Cookbook.pdf" ofType:nil];  
  39.     NSURL *url = [NSURL fileURLWithPath:path];  
  40.     NSLog(@"%@", [self mimeType:url]);  
  41.       
  42.     NSData *data = [NSData dataWithContentsOfFile:path];  
  43.       
  44.     [self.webView loadData:data MIMEType:@"application/pdf" textEncodingName:@"UTF-8" baseURL:nil];  
  45. }  
  46.   
  47. #pragma mark 加載本地文本文件  
  48. - (void)loadText  
  49. {  
  50.     NSString *path = [[NSBundle mainBundle] pathForResource:@"關於.txt" ofType:nil];  
  51.     NSURL *url = [NSURL fileURLWithPath:path];  
  52.     NSLog(@"%@", [self mimeType:url]);  
  53.   
  54.     NSData *data = [NSData dataWithContentsOfFile:path];  
  55.       
  56.     [self.webView loadData:data MIMEType:@"text/plain" textEncodingName:@"UTF-8" baseURL:nil];  
  57. }  
  58.   
  59.   
  60. #pragma mark 加載本地html文件  
  61. - (void)loadHTML  
  62. {  
  63.     NSString *path = [[NSBundle mainBundle] pathForResource:@"demo.html" ofType:nil];  
  64.     NSURL *url = [NSURL fileURLWithPath:path];  
  65.     NSLog(@"%@", [self mimeType:url]);  
  66.       
  67.     NSData *data = [NSData dataWithContentsOfFile:path];  
  68.       
  69.     [self.webView loadData:data MIMEType:@"text/html" textEncodingName:@"UTF-8" baseURL:nil];  
  70. }  
  71.   
  72.   
  73. #pragma mark 獲取指定URL的MIMEType類型  
  74. - (NSString *)mimeType:(NSURL *)url  
  75. {  
  76.     //1NSURLRequest  
  77.     NSURLRequest *request = [NSURLRequest requestWithURL:url];  
  78.     //2NSURLConnection  
  79.       
  80.     //3 在NSURLResponse里,服務器告訴瀏覽器用什么方式打開文件。  
  81.       
  82.     //使用同步方法后去MIMEType  
  83.     NSURLResponse *response = nil;  
  84.     [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:nil];  
  85.     return response.MIMEType;  
  86. }  



 

 

uiwebview加載各種本地文件(通過loadRequest方法):

 

[objc]  view plain  copy
 在CODE上查看代碼片派生到我的代碼片
  1. - (void)viewDidLoad  
  2. {  
  3.     [super viewDidLoad];  
  4.     [self setupUI];  
  5.       
  6.       
  7.     //加載路徑的第一個方式  
  8. //    NSString *path = [[NSBundle mainBundle] pathForResource:@"關於.docx" ofType:nil];  
  9. //    NSURL *url = [NSURL fileURLWithPath:path];  
  10.     //加載路徑的第二個方式  
  11.     NSURL *url = [[NSBundle mainBundle] URLForResource:@"iOS6Cookbook.pdf" withExtension:nil];  
  12.       
  13.     //uiwebview加載文件的第二個方式。第一個方式在下面的注釋中。  
  14.     NSURLRequest *request = [NSURLRequest requestWithURL:url];  
  15.     [self.webView loadRequest:request];  
  16.       
  17.     //NSLog(@"%@", [self mimeType:url]);  
  18.     //webview加載本地文件,可以使用加載數據的方式  
  19.     //第一個誒參數是一個NSData, 本地文件對應的數據  
  20.     //第二個參數是MIMEType  
  21.     //第三個參數是編碼格式  
  22.     //相對地址,一般加載本地文件不使用,可以在指定的baseURL中查找相關文件。  
  23.       
  24.     //以二進制數據的形式加載沙箱中的文件,  
  25. //    NSData *data = [NSData dataWithContentsOfFile:path];  
  26. //      
  27. //    [self.webView loadData:data MIMEType:@"application/vnd.openxmlformats-officedocument.wordprocessingml.document" textEncodingName:@"UTF-8" baseURL:nil];  
  28. }  



 

 

UIWebView加載內容的三種方式:

1 加載本地數據文件

       指定文件的MIMEType

編碼格式使用@“UTF-8”      

2加載html字符串(可以加載全部或者部分html文件)

 

3加載NSURLRequest文件(前兩步與NSURLConnect相同)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM