1

按照AFNetworking示例上传表单时:

NSURL *url = [NSURL URLWithString:@"https://www.example.com/"];
AFHTTPClient *client = [[AFHTTPClient alloc] initWithBaseURL:url];

NSDictionary *params = [NSDictionary dictionaryWithObjectsAndKeys:
                        keyField.text, @"key",
                        valField.text, @"val",
                        nil];

NSData *imageData = UIImagePNGRepresentation(image);

NSURLRequest *request = [client multipartFormRequestWithMethod:@"POST" 
                                                          path:@"/upload" 
                                                    parameters:params 
                                     constructingBodyWithBlock: ^(id <AFMultipartFormData> formData) {
                                         [formData appendPartWithFileData:imageData 
                                                                 mimeType:@"image/png" 
                                                                     name:@"avatar"];
                                     }];

编译返回错误:

ARC Issue: No known instance method for selector 'appendPartWithFileData:mimeType:name:'

我该如何解决?

4

2 回答 2

1

编译器认为这是一个“ARC 问题”,这有点奇怪。恕我直言,该AFMultipartFormData协议不包含名为appendPartWithFileData:mimeType:name:. 看一下文档,也许协议被重构了,方法签名有点变化。我不确定是AFMultipartFormData从哪里来的,但是简短的搜索给了我这些文档,这些文档表明您可能会在appendPartWithFileData:name:fileName:mimeType:.

于 2012-03-16T09:10:43.960 回答
1

我的 AFHTTPClient.h 中的签名如下所示:

- (void)appendPartWithFileData:name:fileName:mimeType:

并匹配此处的文档。可能只是样本已过时。

更新:请参阅此SO 答案:您如何使用 AFNetworking 上传多个文件

于 2012-03-16T10:12:25.513 回答