如何在iOS中使用POST请求发送图像

时间:2012-06-14 20:39:39

标签: objective-c post httprequest

我需要使用帖子请求将图像发送到我的服务器。我已经为它编写了所需的PHP代码。但我如何从我的设备发送它?我见过ASIHTTPRequest框架,但它已经过时了,AFNetworking使事情变得复杂。如果可以,我想通过GET请求发送图像,但我只是不知道如何。

1 个答案:

答案 0 :(得分:0)

我创建了一个子类,允许您创建简单的异步POST请求,可在此处找到:https://github.com/MaxKDevelopment/MKNetwork

要使用它上传图片,您只需将图像数据作为参数添加到请求中:

[MKNetwork sendAsynchronousRequest:[NSURL URLWithString:@"url to upload to"] params:[NSDictionary dictionaryWithObject:UIImagePNGRepresentation(imagedata) forKey:@"image"] decodeResponse:YES callback:^(id response, NSError *error) {

    [someObject doSomethingWithResponse:response];

}];

或者,您可以查看ASIHTTPRequest(ASIFormDataRequest):http://allseeing-i.com/ASIHTTPRequest/

然后初始化ASIFormDataRequest变量,并将POST值设置为UIImage。

NSURL *url = [NSURL URLWithString: @"url to upload to];
ASIFormDataRequest *request = [ASIHTTPRequest requestWithURL:url];
[request addPostValue:UIImagePNGRepresentation(imageToUpload) forKey:@"image"];
[request setCompletionBlock:^{NSLog(@"completed");}];
[request setFailedBlock:^{NSLog(@"failed");}];
[request startAsynchronous];