2013-10-15 65 views
6

隨着AFNetworking我想上傳一個圖像(1280x990)與大小:33695.下面的代碼完美適用於較小的圖像(即:390x390),但較大的圖像會引發錯誤:AFNetworking將不允許大文件上傳

[client POST:@"/upload_image" parameters:nil constructingBodyWithBlock:^(id <AFMultipartFormData>formData) { 

    [formData appendPartWithFileData:imageData name:@"image" fileName:@"image.jpg" mimeType:@"image/jpeg"]; 

} success:^(NSURLSessionDataTask * task, id responderData) { 

} failure:^(NSURLSessionDataTask * task, NSError * error) { 

}]; 

ERROR拋出:

NSDebugDescription = "JSON text did not start with array or object and option to allow fragments not set."; 

我已經搜查了許多其他職位,似乎沒有要任何提及的問題具有較大的圖像尺寸。有什麼建議麼?

+1

提高作爲服務器發回一個非JSON響應的結果的錯誤?收到的實際響應是什麼。你用Charles來看看實際發送/接收的是什麼嗎? – Wain

+1

錯誤不是服務器發回非JSON響應的結果,我使用了查爾斯,甚至沒有發出服務器調用。但是,如果圖像較小(即:將圖像大小調整爲320x320),呼叫就會熄滅,一切都很美妙。似乎AFHTTPSessionManager不喜歡較大的文件。 – Silverstar

+0

這是一個服務器端問題。服務器發送錯誤的JSON請聯繫服務器的人。 – Mohit

回答

1

根據AFNetworking的作者,plz使用appendPartWithFileURL來代替。因爲數據將從磁盤流出。

0

我在嘗試使用AFNetworking時遇到了類似的問題。自從我轉而使用RestKit和SDWebImage來處理圖像的異步加載和緩存......並且它就像一個魅力一樣。你可能想看看這個最近的Quora文章,以更好地比較它們之間的差異....主要是對Restkit的一個認識是異步和緩存,但只需很少的努力,SDWebImage會用一行代碼來處理這個問題。

http://www.quora.com/iOS-Development/RestKit-vs-AFNetworking-What-are-the-pros-and-cons