我正在将我的应用程序从 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
部分一切正常,显然它不会发送我的照片。
如果我用普通的发布请求替换多部分表单请求,它就可以工作。唯一的问题是将 my 附加NSData
到表单中。
有什么观察吗?谢谢。