我将我的应用程序从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附加到表单中.
任何意见?谢谢.
解决方法
在查看AFNetworking / AFHTTPClient.m代码后,我的猜测是你的imageData是零.