zoukankan      html  css  js  c++  java
  • iOSwkwebView 打开 TXT/PDF 文件乱码的问题

      最近做资料文件下载下来并查看的时候,用 WKWebView 打开office 类型的文件的时候是没问题的,但是打开测试人员上传的一个 TXT/PDF 文件就出现了乱码问题,经过查看,应该是文件的编码问题,于是找了种方式来解决出现的问题。

      path = [path stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

        NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:path] cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:120];

        //注入JS

        WKUserScript * cookieScript = [CCCommonAPI injectJS];

        [self.webView.configuration.userContentController addUserScript:cookieScript];

        [CCCommonAPI configCookieWithRequest:request];

        //TXT/PDF文件在iOS14以上版本就出现了乱码问题,经过查看,应该是文件的编码问题

        //hasSuffix方法判断字符串是否以某个字符结束,转成二进制文件

        if ([path hasSuffix:@"txt"]) {

                NSData *data = [NSData dataWithContentsOfURL:[NSURL URLWithString:path]];

                [self.webView loadData:data MIMEType:@"text/html" characterEncodingName:@"GBK" baseURL:nil];

            }

        else if ([path hasSuffix:@"pdf"]){

                NSData *data = [NSData dataWithContentsOfURL:[NSURL URLWithString:path]];

                [self.webView loadData:data MIMEType:@"application/pdf" characterEncodingName:@"GBK" baseURL:nil];

            }

        else{

            [self.webView loadRequest:request];

        }

  • 相关阅读:
    GridView的简单使用
    获取当前应用程序的版本号
    Android EditText输入光标居于开头最开始位置
    Linux-开机启动程序-chkconfig
    Linux-显示行号-方案
    Linux-命令-cat
    Linux-测试-第二关
    Linux-正则-Reg
    Linux-测试-第一关
    Linux-命令-uname
  • 原文地址:https://www.cnblogs.com/bigant9527/p/15079577.html
Copyright © 2011-2022 走看看