Sto migrando la mia app da ASIHTTPRequest a AFNetworking per parlare con l'API back-end. Tutto sembra funzionare bene tranne che per il caricamento delle immagini. Ho usato diversi esempi su Internet, ma eseguirlo sulla mia app causa sempre un crash.Errore asserzione in allegato al formato multiparte
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'
Il problema sembra essere qui:
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
è una classe Singleton con come indicato nell'esempio app AFNetworking iOS.
Se commento la parte appendPartWithFileData
, tutto funziona correttamente, ovviamente non invierà la mia immagine.
Se sostituisco la richiesta di modulo multipart con una richiesta di posta ordinaria, funziona. L'unico problema è l'aggiunta del mio NSData
al modulo.
Eventuali osservazioni? Grazie.
Hai ragione! Non ho notato qualcosa di così banale come quello che stava fallendo. Grazie per l'aiuto. –
Quindi qual è esattamente la correzione di questo bug? – Balz
@Balz Non invia dati 'nil'. – Sulthan