2011-11-04 68 views
2

引用我需要发送到Web服务器的一些信息,如文件,在我的应用程序的用户插入AFNetworking上传与forKey

我用ASIHTTPRequest,但我有一些问题与iOS 5,所以我决定移动到AFNetworking

这是我到目前为止已经写的代码...

AFHTTPClient *client= [AFHTTPClient clientWithBaseURL:[NSURL URLWithString:@"http://theserver.com/upload.php"]]; 
NSMutableDictionary *parameters = [NSMutableDictionary dictionary]; 
[parameters setObject:[fieldName text] forKey:@"name"]; 
[parameters setObject:[fieldSurname text] forKey:@"surname"]; 

现在我需要添加包含图像的NSData对象,它应该由forKey引用:@”附件“

我该写什么?与ASIHTTPRequest我用

[request setData:myNSData withFileName:@"image.jpg" andContentType:@"application/octet-stream" forKey:@"attachment"]; 

但AFNetworking我不知道我应该怎么写,例子并不能帮助我

非常感谢你!

回答

4

你需要使用 “multipartFormRequestWithMethod” - 如:

NSMutableURLRequest *request = [[AFHTTPClient sharedClient] multipartFormRequestWithMethod:@"POST" path:@"/upload.php" parameters:nil constructingBodyWithBlock: ^(id <AFMultipartFormData>formData) { 
    [formData appendPartWithFileData:data mimeType:@"image/jpeg" name:@"attachment"]; 
}]; 
+0

谢谢!但是,而不是“参数=零”我应该传递给我的“NSMutableDictionary *参数”,对不对? 当我声明“AFHTTPClient *客户端”...我需要插入整个路径或只是“http://theserver.com”? – Janky

+0

是的,你可以传入你的参数。当你创建AFHTTPClient时,只需传递基础url即ie。 http://theserver.com/(与http://,其中stackoverflow似乎意图隐藏) – JosephH

+0

是数据的UIImage?有关系吗? – mkral