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編碼