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,)必须删掉。
实践经验总结,有任何疑问欢迎留言。