2013-02-22 17 views
10

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.

risposta

18

Dopo aver esaminato il codice AFNetworking/AFHTTPClient.m, suppongo che il tuo imageData sia nil.

+0

Hai ragione! Non ho notato qualcosa di così banale come quello che stava fallendo. Grazie per l'aiuto. –

+0

Quindi qual è esattamente la correzione di questo bug? – Balz

+3

@Balz Non invia dati 'nil'. – Sulthan

2

Solo per aggiungere, mentre la risposta di Sulthan è corretta, in genere è possibile ottenere questo messaggio di errore inserendo qualsiasi parametro con un valore nil in formData.

+1

come posso risolvere questo problema, per favore puoi controllare la mia domanda pure http://stackoverflow.com/questions/22180367/afnetworking-2-2-0-upload-image-on-server-issues –

Problemi correlati