uiwebview加載各種本地文件(通過loadData方法):
- - (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;
- }
uiwebview加載各種本地文件(通過loadRequest方法):
- - (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];
- }
UIWebView加載內容的三種方式:
1 加載本地數據文件
指定文件的MIMEType
編碼格式使用@“UTF-8”
2加載html字符串(可以加載全部或者部分html文件)
3加載NSURLRequest文件(前兩步與NSURLConnect相同)