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];

    }

posted @ 2021-07-30 14:52  奔跑的小蚂蚁9538  阅读(986)  评论(0编辑  收藏  举报