AFNetworking 请求参数编码问题处理服务器
在一次项目中,要post图片到服务器上去,在以前要将图片转换成base64的格式。可是发现post上去的图片在服务器端老是不存在,通过与后台数据的对比发现image转成base64String里的“+”,post到服务器上都变成了空格。郁闷的很呀!开始没仔细去想,就直接叫后台将我post的string中的空格所有替换成“+”,这倒也算是解决了这个问题。可是总以为这不是解决问题的最佳途径。后台通过查看一些资料,终于发现这个状况在post时,若是url中含有特殊字符(如“+=等”)就会出现的。可是在post以前对这些特殊符号作一次UTF8就能够了解决这个问题了。下面贴代码:post
NSString *baseStr = [imgData base64Encoding]; NSString *baseString = (__bridge NSString *) CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault, (CFStringRef)baseStr, NULL, CFSTR(":/?#[]@!$&’()*+,;="), kCFStringEncodingUTF8); [urlRequest setHTTPBody:[baseString dataUsingEncoding:NSUTF8StringEncoding]];
https://blog.csdn.net/wang790492446/article/details/27309367编码