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

        }

  • 相关阅读:
    jdk动态代理底层实现
    spring-FactoryBean
    大型网站技术架构 核心原理与案例分析 pdf
    实战JAVA虚拟机 JVM故障诊断与性能优化 pdf
    《实战Java高并发程序设计》pdf
    mysql-注意点
    Json入门
    inflate, findViewById与setContentView的区别与联系
    提高编程能力的7条建议
    JDBC之一:JDBC快速入门
  • 原文地址:https://www.cnblogs.com/bigant9527/p/15079577.html
Copyright © 2011-2022 走看看