美文网首页
iOS Base64字符转图片

iOS Base64字符转图片

作者: Bean_Do | 来源:发表于2017-09-21 19:18 被阅读0次

通过Base64编码可以将图片转换成字符串进行传输,通过这种方式可以很便捷的使图片在前后端传递,但是这通常只适用于小图片,否则转换后的Base64字符将很大,并不利于传输。

在iOS端可以通过以下方法进行转换。
Base64字符转图片

NSData *imageData = [[NSData alloc] initWithBase64EncodedString:@"your base64 string" options:NSDataBase64DecodingIgnoreUnknownCharacters];

YourImageView.image = [UIImage imageWithData:imageData]

图片转Base64字符

NSData *imageData = UIImageJPEGRepresentation(yourImage, 1.0f);

NSString *base64ImageStr = [imageData base64EncodedStringWithOptions:NSDataBase64Encoding64CharacterLineLength];

Note

关于NSDataBase64EncodingOptions
NSDataBase64Encoding64CharacterLineLength     //将生成的Base64字符串按照64个字符长度进行等分换行
NSDataBase64Encoding76CharacterLineLength     //将生成的Base64字符串按照76个字符长度进行等分换行
NSDataBase64EncodingEndLineWithCarriageReturn //将生成的Base64字符串以回车结束
NSDataBase64EncodingEndLineWithLineFeed       //将生成的Base64字符串以换行结束

Solution

有时候,后台传回的Base64字符是这种格式的:data:image/png;base64,iVBORw0K.............""

这个时候直接进行转换会失败,解决方法是去掉前缀:"data:image/png;base64,"

相关文章

网友评论

      本文标题:iOS Base64字符转图片

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