断言失败附加到多部分表单

时间:2013-02-22 20:25:10

标签: ios objective-c afnetworking

我正在将我的应用程序从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部分一切正常,显然它不会发送我的照片。

如果我用普通的帖子请求替换多部分表单请求,它就可以工作。唯一的问题是将NSData附加到表单。

有什么观察?感谢。

2 个答案:

答案 0 :(得分:18)

在查看AFNetworking/AFHTTPClient.m代码后,我的猜测是imageDatanil

答案 1 :(得分:2)

只是添加,虽然Sulthan的答案是正确的,但您通常可以通过将nil值的任何参数插入formData来获取此错误消息。