2013-02-22 64 views
10

我正在將我的應用程序從ASIHTTPRequest遷移到AFNetworking以與後端API進行通信。 除了圖片上傳以外,一切看起來都很好。我在互聯網上使用了不同的例子,但是在我的應用上運行它總是會導致崩潰。聲明失敗追加到多部分形式

2013-02-22 17:02:28.680 MyApp[1477:907] *** Assertion failure in -[AFStreamingMultipartFormData appendPartWithHeaders:body:], AFNetworking/AFHTTPClient.m:885 
2013-02-22 17:02:28.687 MyApp[1477:907] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Invalid parameter not satisfying: body' 

這個問題似乎是在這裏:

NSMutableURLRequest *request = [[MyServiceAPIClient sharedClient] multipartFormRequestWithMethod:@"POST" path:@"/api/method" parameters:nil constructingBodyWithBlock: ^(id <AFMultipartFormData>formData) { 
    [formData appendPartWithFileData:imageData name:@"face" fileName:@"face.jpg" mimeType:@"image/jpeg"]; 
}]; 

MyServiceAPIClient是作爲AFNetworking的iOS示例應用程序給一個單獨的類。

如果我評論appendPartWithFileData部分一切運行良好,顯然它不會發送我的照片。

如果我用一個普通的post請求替換multipart form請求,它會起作用。唯一的問題是將我的NSData附加到表單中。

是否有觀察?謝謝。

回答

18

看着AFNetworking/AFHTTPClient.m代碼後,我猜測你的imageDatanil

+0

你說得對!我沒有注意到那些失敗的小事。感謝您的幫助。 – 2013-02-22 21:30:18

+0

那麼這個bug的修正究竟是什麼? – Balz 2013-12-15 16:34:57

+3

@Balz不發送'nil'數據。 – Sulthan 2013-12-15 16:41:26

2

只是要補充一點,雖然Sulthan的回答是正確的,但您通常可以通過將nil值插入formData的任何參數來獲取此錯誤消息。

+1

我該如何解決這個問題問題,請你可以檢查我的問題以及http://stackoverflow.com/questions/22180367/afnetworking-2-2-0-upload-image-on-server-issues – 2014-03-04 18:57:47