Save multipart/form-data on server in objective c but get the 500 response
I have try to save multipart/form-data on server using following code NSMutableURLRequest * request=[[NSMutableURLRequest alloc]initWithURL:[NSURL URLWithString:jsonUrl] cachePolicy:NSURLRequestReloadIgnoringCacheData timeoutInterval:30.0]; [request setHTTPMethod:@"POST"]; [request setValue:[NSString stringWithFormat:@"TPop %@",[Base64 encode:[[[NSUserDefaults standardUserDefaults]objectForKey:@"AuthorizationID"] dataUsingEncoding:NSUTF8StringEncoding]]] forHTTPHeaderField:@"Authorization"]; // set Content-Type in HTTP header NSString *BoundaryConstant = @"---------------------------acebdf13572468"; NSString *contentType = [NSString stringWithFormat:@"multipart/form-data; boundary=%@", BoundaryConstant]; [request setValue:contentType forHTTPHeaderField:@"Content-Type"]; // post body NSMutableData *body = [NSMutableData data]; if (parameterArray!=nil) { //TPPopPartsModel objPopPart=[parameterArray objectAtIndex:0]; NSMutableDictionary _params = [[NSMutableDictionary alloc] init]; [_params setObject:[NSString stringWithFormat:@"1"]forKey:[NSString stringWithFormat:@"SequencePosition"]]; // [_params setObject:[NSNumber numberWithInt:1] forKey:[NSString stringWithFormat:@"SequencePosition"]]; [_params setObject:[NSString stringWithFormat:@"Image"]forKey:[NSString stringWithFormat:@"MediaType"]]; [_params setObject:[NSString stringWithFormat:@"Hello"]forKey:[NSString stringWithFormat:@"Description"]]; [_params setObject:[NSString stringWithFormat:@"car.jpg"]forKey:[NSString stringWithFormat:@"filename"]]; 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]]; NSLog(@"%@",[NSString stringWithFormat:@"%@\r\n", [_params objectForKey:param]]); } } UIImageView * imagicon=[[UIImageView alloc]init]; imagicon.image=[UIImage imageNamed:@"car.jpg"]; NSData *image = UIImageJPEGRepresentation(imagicon.image,1.0); // add image data if (image) { NSString filename=@"fieldNam## Heading ##eHere"; [body appendData:[[NSString stringWithFormat:@"--%@\r\n", BoundaryConstant] dataUsingEncoding:NSUTF8StringEncoding]]; [body appendData:[[NSString stringWithFormat:@"Content-Disposition:form-data; name=\"%@\"; filename=\"\"\r\n",filename] dataUsingEncoding:NSUTF8StringEncoding]]; [body appendData:[@"Content-Type:image/jpeg\r\n\r\n" dataUsingEncoding:NSUTF8StringEncoding]]; [body appendData:image]; [body appendData:[[NSString stringWithFormat:@"\r\n"] dataUsingEncoding:NSUTF8StringEncoding]]; } [body appendData:[[NSString stringWithFormat:@"--%@--\r\n", BoundaryConstant] dataUsingEncoding:NSUTF8StringEncoding]]; [request setHTTPBody:body]; NSURLResponse response; NSLog(@"%@",request); NSError* error = nil; //Capturing server response NSData* result = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error]; NSLog(@"%@",response); NSLog(@"%@",error); NSString *responseString = [[NSString alloc] initWithData:result encoding:NSUTF8StringEncoding]; } } get following server response { status code: 500, headers { "Cache-Control" = "no-cache"; "Content-Length" = 35; "Content-Type" = "application/json; charset=utf-8"; Date = "Fri, 31 Jul 2015 15:51:01 GMT"; Expires = "-1"; Pragma = "no-cache"; Server = "Microsoft-IIS/8.5"; "X-AspNet-Version" = "4.0.30319"; "X-Powered-By" = "ASP.NET"; } } how to solve this problem...
Aucun commentaire:
Enregistrer un commentaire