咨询热线

0371-86158370

xcode iOS 获取后台图片base64data数据转换UIimage图片失败问题解决

如果您正在寻找相关产品或有其他疑问,可随时拨打服务热线,或点击下方按钮与我们在线交流!

2022-05-07 16:00:04 发布者:海融软件
关于xcode iOS 获取后台图片base64data数据转换UIimage图片失败问题解决这个问题,是在河南IT软件服务商中一个比较常见的问题了,那么如何解决这个问题呢,继续阅读,接下来进行详细的介绍。

base64 数据 一般是字符串类型的数据,格式如:data:image/png;base64,xx...........................这样的数据。


首先,data:image/png;base64, 是固定的前缀数据,需要删除。注意,包含 逗号


其次,对字符串进行换行符、空字符的去除,使其得到一个标准的可以转换图片的 base64 字符串数据。


这样就可以在xcode中,将base64字符串转为nsdata,再转为uiimage了


            //strImgDataNew 为base64 NSString
            
            //进行首尾空字符串的处理
            strImgDataNew = [strImgDataNew stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]]; //去除掉首尾的空白字符和换行字符
            
            //进行空字符串的处理
            strImgDataNew = [strImgDataNew stringByReplacingOccurrencesOfString:@"
" withString:@""];
            
            //进行换行字符串的处理
            strImgDataNew = [strImgDataNew stringByReplacingOccurrencesOfString:@"
" withString:@""];
            
            //去掉头部的前缀//data:image/jpeg;base64, (可根据实际数据情况而定,如果数据有固定的前缀,就执行下面的方法,如果没有就注销掉或删除掉)
            // str = [str substringFromIndex:23];   //23 是根据前缀的具体字符长度而定的。
            
            NSString*encodedImageStr = strImgDataNew;
            
            //进行字符串转data数据 -------NSDataBase64DecodingIgnoreUnknownCharacters
            
            NSData *decodedImgData = [[NSData alloc] initWithBase64EncodedString:encodedImageStr options:NSDataBase64DecodingIgnoreUnknownCharacters];
            
            //把data数据转换成图片内容
            UIImage*decodedImage = [UIImage imageWithData:decodedImgData];


相关产品
更多推荐
科技·质量·服务·创新

科技·质量·服务·创新

提交需求

如果您对我们的产品感兴趣,或者我们有什么可以帮助到您的,您可以随时在线与我们沟通。 当然您也可以在下面给我们留言,我们将热忱为您服务!

快速响应给予技术咨询答复

专业优质软件服务

成熟领先产品解决方案

专业可靠合作伙伴

免费咨询 0371-86158370
免费获取报价

获取报价

销售热线销售热线:0371-86158370

返回顶部

首页 在线咨询在线咨询 一键拨打一键拨打
Baidu
map