[英]Post Image With parametrs in iphone
I am using NSURLConnection to integtarte the Web-service.我正在使用 NSURLConnection 来集成 Web 服务。
My code is as follow:我的代码如下:
NSURL *url = [NSURL URLWithString:Sign_Up_URL];
NSMutableURLRequest *urlRequest = [NSMutableURLRequest requestWithURL:url];
NSString *params = [NSString stringWithFormat:@"vimage=%@&@"vFname=%@&vLname=%@&vEmail=%@&vPassword=%@&vDeviceType=%@&vDeviceToken=%@",image_data,txt_first.text,txt_last.text,txt_email.text,txt_password.text,@"IOS",@"safasf423526dgdsgdsg"];
[urlRequest setHTTPMethod:@"POST"];
[urlRequest setValue:header_filed forHTTPHeaderField:@"X_API_KEY"];
[urlRequest setHTTPBody:[params dataUsingEncoding:NSUTF8StringEncoding]];
[NSURLConnection sendAsynchronousRequest:urlRequest
queue:[NSOperationQueue mainQueue]
completionHandler:^(NSURLResponse *response,
NSData *data,
NSError *connectionError) {
// handle response
[MBProgressHUD hideHUDForView:self.view animated:YES];
NSDictionary *json_response = [NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:nil];
NSLog(@"%@",json_response);
// [self login_response:json_response];
}];
But How can I upload a image with this parameter?但是如何使用此参数上传图像?
Help for this.为此提供帮助。
Please read Article : http://nthn.me/posts/2012/objc-multipart-forms.html , and used ContentType : Multipart/from-data ;请阅读文章: http : //nthn.me/posts/2012/objc-multipart-forms.html ,并使用 ContentType : Multipart/from-data ;
for your reference :供你参考 :
NSString *boundary = @"YOUR_BOUNDARY_STRING";
NSString *contentType = [NSString stringWithFormat:@"multipart/form-data; boundary=%@", boundary];
[request addValue:contentType forHTTPHeaderField:@"Content-Type"];
NSMutableData *body = [NSMutableData data];
[body appendData:[[NSString stringWithFormat:@"\r\n--%@\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"photo\"; filename=\"%@.jpg\"\r\n", self.message.photoKey] dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[@"Content-Type: application/octet-stream\r\n\r\n" dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[NSData dataWithData:imageData]];
[body appendData:[[NSString stringWithFormat:@"\r\n--%@\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"message\"\r\n\r\n%@", self.message.message] dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[[NSString stringWithFormat:@"\r\n--%@\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"user\"\r\n\r\n%d", 1] dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[[NSString stringWithFormat:@"\r\n--%@\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]];
[request setHTTPBody:body];
Hope this will help, Please update me if you have getting any error.希望这会有所帮助,如果您遇到任何错误,请更新我。
By using NSURLConnection you can do like below通过使用 NSURLConnection 你可以像下面这样
NSData* fileData = [[NSData alloc] initWithContentsOfFile:image_data];
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init];
[request setURL:[NSURL URLWithString:Sign_Up_URL]];
[request setHTTPMethod:@"POST"];
NSString *boundary = [NSString stringWithString:@"0xKhTmLbOuNdArY"]; // This is important! //NSURLConnection is very sensitive to format.
NSString *contentType = [NSString stringWithFormat:@"multipart/form-data; boundary=%@",boundary];
[request addValue:contentType forHTTPHeaderField: @"Content-Type"];
NSMutableData *body = [NSMutableData data];
[body appendData:[[NSString stringWithFormat:@"--%@\r\n",boundary] dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[[NSString stringWithString:@"Content-Disposition: form-data; name=\"VFname\"; filename=\"thefilename\"\r\n"] dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[[NSString stringWithString:@"Content-Type: application/octet-stream\r\n\r\n"] dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[NSData dataWithData:fileData]];
[body appendData:[[NSString stringWithFormat:@"\r\n--%@\r\n",boundary] dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[[NSString stringWithString:@"Content-Disposition: form-data; name=\"param2\"\r\n\r\n"] dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[[NSString stringWithString:self.emailtextfield.text] dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[[NSString stringWithFormat:@"\r\n--%@\r\n",boundary] dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[[NSString stringWithString:@"Content-Disposition: form-data; name=\"param3\"\r\n\r\n"] dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[[NSString stringWithString:self.passwordtextfield.text] dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[[NSString stringWithFormat:@"r\n--%@--\r\n",boundary] dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[[NSString stringWithString:self.vlnametextfield.text] dataUsingEncoding:NSUTF8StringEncoding]];
// setting the body of the post to the reqeust
[request setHTTPBody:body];
(OR using ASIHTTPRequest you can do it as below) (或使用 ASIHTTPRequest 您可以按如下方式执行)
ASIFormDataRequest *request=[ASIFormDataRequest requestWithURL:Sign_Up_URL];
[request setDelegate:self];
[request setPostValue:vnamelabel.textforKey:@"VFname"];
[request setPostValue:emaillabel.text forKey:@"vEmail"];
[request setPostValue:passwordlabel.text forKey:@"vPassword"];
[request setPostValue:devicetypelabel.text forKey:@"vDeviceType"];
[request addData:self.imagedata withFileName:@"image.jpeg" andContentType:@"image/jpeg" forKey:@"vimage"];
//----------------------
Hope it helps you..希望能帮到你。。
Hi Follow below links for my answers嗨,请按照以下链接获取我的答案
Upload image to server with iOS not working 在 iOS 无法正常工作的情况下将图像上传到服务器
Trouble Passing Variables to PHP Script on Image Upload 在图像上传时将变量传递给 PHP 脚本时遇到问题
How do post Json and Image to server for ios 如何将 Json 和 Image 发布到 ios 的服务器
Send JSON request with iOS 使用 iOS 发送 JSON 请求
how to GET or POST multipart data request in PHP 如何在 PHP 中 GET 或 POST 多部分数据请求
PHP to Edit XML, POSTed from iOS PHP 编辑 XML,从 iOS 发布
Hope this will help希望这会有所帮助
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.