美文网首页
iOS 有关获取后台给的图片 base64data数据进行解析,

iOS 有关获取后台给的图片 base64data数据进行解析,

作者: iOS开发小学生 | 来源:发表于2018-06-12 00:28 被阅读52次

    1.首先是获取后台给的base64 数据  ,一般是字符串类型的数据。

    例如:data:image/png;base64,iVB.......................................... 是这样的数据,其中:data:image/png;base64, 是固定的前缀数据,是固定的格式。注意是:data:image/png;base64, (包括","符号) data:image/png;base64, (包括","符号) data:image/png;base64, (包括","符号)重要的事说三遍 OK。

    2.根据上面拿到的数据进行base64 的(字符串转图片方法)把《字符串》转换成UIimage 图片

    具体方法是 :(1)首先是去除《字符串》的前缀 -----(data:image/png;base64, ) 

                            (2)其次就是对字符串进行去除换行符的去除 和 空字符的去除,使其得到一个标准的可以转换图片的 base64 字符串数据

    下面贴一段代码:

          // 获取后台给的字符串数据

         NSString*str = json [@"checkCode"];

           //判断数据为空的情况

                if(!str.length) {

                    return;

                }

    //进行首尾空字符串的处理

                str = [strstringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]]; //去除掉首尾的空白字符和换行字符

    //进行空字符串的处理

                str = [strstringByReplacingOccurrencesOfString:@"\r" withString:@""];

    //进行换行字符串的处理

                str = [strstringByReplacingOccurrencesOfString:@"\n" withString:@""];

                WJLog(@"%@",str);

                //去掉头部的前缀//data:image/jpeg;base64, (可根据实际数据情况而定,如果数据有固定的前缀,就执行下面的方法,如果没有就注销掉或删除掉)

               // str = [str substringFromIndex:23];   //23 是根据前缀的具体字符长度而定的。

                NSString*encodedImageStr = str;

               //进行字符串转data数据 -------NSDataBase64DecodingIgnoreUnknownCharacters

                NSData *decodedImgData = [[NSData alloc] initWithBase64EncodedString:encodedImageStr options:NSDataBase64DecodingIgnoreUnknownCharacters];

                //把data数据转换成图片内容

                UIImage*decodedImage = [UIImage imageWithData:decodedImgData];

                // 把图片赋值给图片视图去接受

                self.VerificationCodeImg.image = decodedImage;

    到这里就大功告成了!如果有不对的地方,请多多指教!欢迎你对本人的来撩!

    相关文章

      网友评论

          本文标题:iOS 有关获取后台给的图片 base64data数据进行解析,

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