Подтвердить что ты не робот

Ошибка утверждения, добавляемая к многочастной форме

Я переношу свое приложение из 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 - это одноэлементный класс, как указано в приложении примера iOS AFNetworking.

Если я комментирую часть appendPartWithFileData, все работает нормально, очевидно, что она не отправит мое изображение.

Если я заменил запрос многостраничной формы обычным почтовым запросом, он будет работать. Единственная проблема заключается в добавлении моей формы NSData в форму.

Любые наблюдения? Спасибо.

4b9b3361

Ответ 1

Изучив код AFNetworking/AFHTTPClient.m, я предполагаю, что ваш imageData равен nil.

Ответ 2

Просто добавьте, в то время как ответ Sulthan верен, вы можете получить это сообщение об ошибке, вставив любой параметр с nil значением в formData.