美文网首页
iOS文档查看-UIwebview和UIDocumentInte

iOS文档查看-UIwebview和UIDocumentInte

作者: 赑屃王者 | 来源:发表于2018-06-05 17:46 被阅读0次

    一、使用UIwebview浏览文档

    1.将文档路径转换为URL

    NSURL *documentPathUrl = [NSURL fileURLWithPath:filePath];
    

    2.获取指定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;
    }
    

    3.显示文档

    // 通过路径读取文档数据  
         NSData *data = [NSData dataWithContentsOfURL:self.documentPathUrl];
    // 将数据传给WebView显示,并且告知文档类型、编码格式 self.url文档请求的URL
        [_webView loadData:data MIMEType:[self mimeType:self.documentPathUrl] textEncodingName:@"UTF-8" baseURL:[NSURL URLWithString:self.url]];
    

    二、使用UIDocumentInteractionController

    1.声明一个全局变量

    @property (nonatomic, strong) UIDocumentInteractionController *documentController;
    

    2.遵循UIDocumentInteractionControllerDelegate代理

    - (UIViewController *)documentInteractionControllerViewControllerForPreview:(UIDocumentInteractionController *)controller
    {
        return self;
    }
    - (UIView *)documentInteractionControllerViewForPreview:(UIDocumentInteractionController *)controller
    {
        return self.view;
    }
    - (CGRect)documentInteractionControllerRectForPreview:(UIDocumentInteractionController *)controller
    {
        return self.view.frame;
    }
    

    3.打开的本地文件

    _documentController = [UIDocumentInteractionController interactionControllerWithURL:[NSURL fileURLWithPath:filePath]];
    _documentController.delegate = self;// 代理
     _documentController.name = _fileName;// 文件名
    

    4.打开预览
    直接打开预览界面[图片上传中...(屏幕快照 2018-06-05 下午5.40.22.png-9fa213-1528191656840-0)]

    [_documentController presentPreviewAnimated:YES];
    

    有查看的文件分享弹窗

    [_documentController presentOptionsMenuFromRect:self.view.bounds inView:self.view animated:YES];
    

    没有查看的文件分享弹窗

    [_documentController presentOpenInMenuFromRect:self.view.bounds inView:self.view animated:YES];
    

    相关文章

      网友评论

          本文标题:iOS文档查看-UIwebview和UIDocumentInte

          本文链接:https://www.haomeiwen.com/subject/benpsftx.html