百度AI身份证识别接口,iOS上传base64图片报错216201问题解决办法总结

1、首先我们查看百度文档,此错误码的介绍:

216201 image format error 上传的图片格式错误,现阶段我们支持的图片格式为:PNG、JPG、JPEG、BMP,请进行转码或更换图片

2、上传接口的介绍:

image string - 图像数据,base64编码后进行urlencode,要求base64编码和urlencode后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/jpeg/png/bmp格式

3、可能的错误分析:

①、base64编码不能插入空格。如果使用iOS系统的方法,建议使用:

        NSString  *base64 = [jpegData base64EncodedStringWithOptions:0];

        关于NSDataBase64EncodingOptions的介绍:

        NSDataBase64Encoding64CharacterLineLength:每64个字符插入\r或\n

        NSDataBase64Encoding76CharacterLineLength:每76个字符插入\r或\n

        NSDataBase64EncodingEndLineWithCarriageReturn:插入字符为\r

        NSDataBase64EncodingEndLineWithLineFeed:插入字符为\n

        如果传0,则不插入任何字符

②、urlencode还是有必要的,如果使用AFNetworking框架,是会自动编码的,你不需要额外处理。

③、图片的base64编码是不包含图片头的,如(data:image/jpg;base64,)必须删掉。

实践经验总结,有任何疑问欢迎留言。

猜你喜欢

转载自blog.csdn.net/xuexixiaoshizhe/article/details/106924116