您的位置:首页 > 理论基础 > 计算机网络

IOS 使用 HTTP POST 上传图片和文本信息

2012-05-25 21:53 483 查看
[request setValue:contentType forHTTPHeaderField: @"Content-Type"];

// post body

NSMutableData *body = [NSMutableData data];

// add params (all params are strings)

for (NSString *param in _params) {

[body appendData:[[NSString stringWithFormat:@"--%@\r\n", BoundaryConstant] dataUsingEncoding:NSUTF8StringEncoding]];

[body appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name="%@"\r\n\r\n", param] dataUsingEncoding:NSUTF8StringEncoding]];

[body appendData:[[NSString stringWithFormat:@"%@\r\n", [_params objectForKey:param]] dataUsingEncoding:NSUTF8StringEncoding]];

}

// add image data

NSData *imageData = UIImageJPEGRepresentation(imageToPost, 1.0);

if (imageData) {

[body appendData:[[NSString stringWithFormat:@"--%@\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]];

[body appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name="%@\"; filename="image.jpg"\r\n", FileParamConstant] dataUsingEncoding:NSUTF8StringEncoding]];

[body appendData:[[NSString stringWithString:@"Content-Type: image/jpeg\r\n\r\n"] dataUsingEncoding:NSUTF8StringEncoding]];

[body appendData:imageData];

[body appendData:[[NSString stringWithFormat:@"\r\n"] dataUsingEncoding:NSUTF8StringEncoding]];

}

[body appendData:[[NSString stringWithFormat:@"--%@--\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]];

// setting the body of the post to the reqeust

[request setHTTPBody:body];

// set the content-length

NSString *postLength = [NSString stringWithFormat:@"%d", [body length]];

[request setValue:postLength forHTTPHeaderField:@"Content-Length"];

// set URL

[request setURL:requestURL];
转自http://www.oschina.net/code/snippet_12_8203
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: