在做APP圖片上傳功能的時候,遇到了這樣的情況:使用AFNetworking攜帶parameters上傳圖片到後臺,後臺先現在sessionId,然後再接收圖片。遇到的問題是:後臺接收到的parameters是空的,但是通過抓包得知,上傳上去的數據中的parameters是有數據的,但是後臺接收不到。就這樣僵持了兩天,找了外援也沒能解決。在網上問,得到的答案是後臺的問題需要後臺調整。
解決辦法:將抓包得到的情況反饋給後臺,和後臺協商後,新開一個不需要驗證的接口。上傳步驟是:1.先上傳圖片;2.上傳圖片完成後,返回圖片地址;3.後續將返回的圖片地址存到parameters中,通過表單上傳傳給後臺記錄。
然後又遇到了一個新的情況,使用AFNetworking上傳,在後臺顯示的圖片會是圖片錯誤。所以改用原生的上傳方式
[NSURLConnection sendAsynchronousRequest:request queue:[NSOperationQueue mainQueue] completionHandler:^(NSURLResponse *response, NSData *data, NSError *connectionError) {}
此時上傳上去的圖片無錯。
後續有時間再研究下爲什麼。
3月31日
Android端也遇到了帶參數上傳驗證不通過的問題,所以後臺改了一下。
後臺說他原先後臺能接受的文件是不帶參數頭的,用AFNetworking上傳的是帶參數頭的,所以不能傳。今天他增加了一個common什麼的方法,然後就可以接收了。