iOS js与原生交互图片base64解码问题

解决思路

  • 正常解码思路
/// base64字符串转图片
/// @param base64String 图片base64字符串
- (UIImage *)imageWithBase64String:(NSString *)base64String {    
 NSData *imageData = [[NSData alloc] initWithBase64EncodedString:base64String options:NSDataBase64DecodingIgnoreUnknownCharacters];
 UIImage *image = [UIImage imageWithData:imageData];
 return image;
}
  • DataURL解码思路
/// base64字符串转图片
/// @param base64String 图片base64字符串
- (UIImage *)imageWithBase64String:(NSString *)base64String {
 NSURL *URL = [NSURL URLWithString:base64String];
 NSData *imageData = [NSData dataWithContentsOfURL:URL];
 UIImage *image = [UIImage imageWithData:imageData];
 return image;
}

问题分析

h5端对图片进行Base64编码,如果利用的是canvas.toDataURL()函数转换的:

dataURL = canvas.toDataURL('image/png'); //转换图片为dataURL,转换后为Base64格式

我们解码时,也应该DataURL解码思路

你可能感兴趣的:(iOS js与原生交互图片base64解码问题)