您的位置:首页 > 其它

Ba64 编码处理上传图片的参数失效问题

2015-01-14 20:05 141 查看
在一次项目中,要post图片到服务器上去,在之前要将图片转换成base64的格式。但是发现post上去的图片在服务器端总是不存在,经过与后台数据的对比发现image转成base64String里的“+”,post到服务器上都变成了空格。郁闷的很呀!开始没仔细去想,就直接叫后台将我post的string中的空格全部替换成“+”,这倒也算是解决了这个问题。但是总觉得这不是解决问题的最佳途径。后台经过查看一些资料,终于发现这个情况在post时,如果url中含有特殊字符(如“+=等”)就会出现的。但是在post之前对这些特殊符号做一次UTF8就可以了解决这个问题了。下面贴代码:

[objc] view
plaincopy

NSString *baseStr = [imgData base64Encoding];

NSString *baseString = (__bridge NSString *) CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault,

(CFStringRef)baseStr,

NULL,

CFSTR(":/?#[]@!$&’()*+,;="),

kCFStringEncodingUTF8);

[urlRequest setHTTPBody:[baseString dataUsingEncoding:NSUTF8StringEncoding]];
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐