• 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相同)

  • 相关阅读:
    [转载]网络流ISAP算法的简单介绍
    [漫画]120430 混血男孩
    [代码]SGU 270 Thimbles
    [代码]UVALive 5882 Racing Car Trail
    [代码]SGU 298 King Berl VI
    [解题报告]Codeforces 105D Entertaining Geodetics
    07年的第一个小时
    简单工厂模式
    讨厌什么
    休息像神的味道
  • 原文地址:https://www.cnblogs.com/Rong-Shengcom/p/6102671.html
Copyright © 2020-2023  润新知