Featured post

Difference between protocol and delegates?

A protocol, declared with the ( @protocol syntax in Objective-C) is used to declare a set of methods that a class "adopts" (de...

Thursday, 7 April 2016

post image on server with multiform Data?

 (void)PostImageandParameterOnServer
{
       [MyCustomeClass SVProgressMessageShowOnWhenNeed:@"Please wait.."];

    NSString *PostTitle= title_txt.text;
    
     NSLog(@"PostTitle %@",PostTitle);
    
    NSString *str_Mobiletype= @"web";
    
    NSString * FB_chkBox = singletonObj.Fbswitchbtn;
    
    NSLog(@"FB_chkBox %@",FB_chkBox);
    
    NSString * IN_chkBox= singletonObj.Inswitchbtn;
    
    NSString * TW_chkBox= singletonObj.Twswitchbtn;
    
    //NSString * Imagedata= @"";
    
    NSString * cate_ID= @"";
    
        NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
    
     
    
     NSString *custemor_id=[defaults stringForKey:@"customer_id"];
        
   custemor_id= [NSString stringWithFormat:@"%@",custemor_id];
    
      NSLog(@"custemor_id %@",custemor_id);
    
    // NSString * f_schedulestr= @" ";
     NSString * linkin_schedule=@"";
     NSString * tw_schedule=@"";
    
   // NSString *F_shedulestring = TxtFBDate_time1.text;

//
    UIImage *myImage = iv_profilePic.image;
    
    NSData *imageData=[[NSData alloc]init];
     //imageData = UIImagePNGRepresentation(myImage);
    imageData  = UIImageJPEGRepresentation(myImage, 90);
    
    
    NSString *urlString = @"http://139.162.10.249:9001/addpostsubmit";
    
    // setting up the request object now
   NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init];
    
 [request setURL:[NSURL URLWithString:urlString]];
    
    [request setCachePolicy:NSURLRequestReloadIgnoringLocalCacheData];
    [request setHTTPShouldHandleCookies:NO];
    [request setTimeoutInterval:60];
  
[request setHTTPMethod:@"POST"];

  NSString *boundary = @"---------------------------V2ymHFg03ehbqgZCaKO6jy";
NSString *contentType = [NSString stringWithFormat:@"multipart/form-data; boundary=%@",boundary];
 [request addValue:contentType forHTTPHeaderField: @"Content-Type"];

     /*
     now lets create the body of the post
     */
 NSMutableData *body = [NSMutableData data];
    
  //  parameter post_title
 [body appendData:[[NSString stringWithFormat:@"--%@\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]];
 [body appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"post_title\"\r\n\r\n"] dataUsingEncoding:NSUTF8StringEncoding]];
 [body appendData:[PostTitle dataUsingEncoding:NSUTF8StringEncoding]];
 [body appendData:[@"\r\n" dataUsingEncoding:NSUTF8StringEncoding]];
    
  NSLog(@"%@",PostTitle);

//  parameter post_content
  [body appendData:[[NSString stringWithFormat:@"--%@\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]];
  [body appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"post_content\"\r\n\r\n"] dataUsingEncoding:NSUTF8StringEncoding]];
  [body appendData:[postcontent_textview.text dataUsingEncoding:NSUTF8StringEncoding]];
  [body appendData:[@"\r\n" dataUsingEncoding:NSUTF8StringEncoding]];

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

    // parameter   fb_check_box
    [body appendData:[[NSString stringWithFormat:@"--%@\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]];
    [body appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"fb_check_box\"\r\n\r\n"] dataUsingEncoding:NSUTF8StringEncoding]];
    [body appendData:[FB_chkBox dataUsingEncoding:NSUTF8StringEncoding]];
    [body appendData:[@"\r\n" dataUsingEncoding:NSUTF8StringEncoding]];
    
    // parameter   linkin_check_box
    [body appendData:[[NSString stringWithFormat:@"--%@\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]];
    [body appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"linkin_check_box\"\r\n\r\n"] dataUsingEncoding:NSUTF8StringEncoding]];
    [body appendData:[IN_chkBox dataUsingEncoding:NSUTF8StringEncoding]];
    [body appendData:[@"\r\n" dataUsingEncoding:NSUTF8StringEncoding]];
    
    
    // parameter   tw_check_box
    
    [body appendData:[[NSString stringWithFormat:@"--%@\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]];
    [body appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"tw_check_box\"\r\n\r\n"] dataUsingEncoding:NSUTF8StringEncoding]];
    [body appendData:[TW_chkBox dataUsingEncoding:NSUTF8StringEncoding]];
    [body appendData:[@"\r\n" dataUsingEncoding:NSUTF8StringEncoding]];
    
    // parameter   web_url
    [body appendData:[[NSString stringWithFormat:@"--%@\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]];
    [body appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"web_url\"\r\n\r\n"] dataUsingEncoding:NSUTF8StringEncoding]];
    [body appendData:[website_txt.text dataUsingEncoding:NSUTF8StringEncoding]];
    [body appendData:[@"\r\n" dataUsingEncoding:NSUTF8StringEncoding]];
    
    // add two string values txtand lable
    NSString *fbdatestr=self.TxtFBDate_time1.text ;
    
    NSString *fbdatelblstr= _Fb_timeLabel.text;
    
   NSString *fbdatelblstr1 =[[fbdatestr stringByAppendingString:@" "] stringByAppendingString:fbdatelblstr];
    
    NSLog(@"you : %@ ",fbdatelblstr1);
    
    // parameter   f_schedule
    [body appendData:[[NSString stringWithFormat:@"--%@\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]];
    [body appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"f_schedule\"\r\n\r\n"] dataUsingEncoding:NSUTF8StringEncoding]];
    [body appendData:[fbdatelblstr1 dataUsingEncoding:NSUTF8StringEncoding]];
    [body appendData:[@"\r\n" dataUsingEncoding:NSUTF8StringEncoding]];
    
    NSLog(@"Fb_dateLabel%@",self.TxtFBDate_time1.text);

    
    // parameter   linkin_schedule
    [body appendData:[[NSString stringWithFormat:@"--%@\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]];
    [body appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"linkin_schedule\"\r\n\r\n"] dataUsingEncoding:NSUTF8StringEncoding]];
    [body appendData:[linkin_schedule dataUsingEncoding:NSUTF8StringEncoding]];
    [body appendData:[@"\r\n" dataUsingEncoding:NSUTF8StringEncoding]];
    
    // parameter   tw_schedule
    [body appendData:[[NSString stringWithFormat:@"--%@\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]];
    [body appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"tw_schedule\"\r\n\r\n"] dataUsingEncoding:NSUTF8StringEncoding]];
    [body appendData:[tw_schedule dataUsingEncoding:NSUTF8StringEncoding]];
    [body appendData:[@"\r\n" dataUsingEncoding:NSUTF8StringEncoding]];
   
    
    NSString* FileParamConstant =@"file";
  
    // parameter   image****************
    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:[@"Content-Type: image/jpeg\r\n\r\n" dataUsingEncoding:NSUTF8StringEncoding]];
        
        [body appendData:imageData];
        [body appendData:[[NSString stringWithFormat:@"\r\n"] dataUsingEncoding:NSUTF8StringEncoding]];
         
        }
    
     
    // parameter   event_id
    [body appendData:[[NSString stringWithFormat:@"--%@\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]];
    
    [body appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"event_id\"\r\n\r\n"] dataUsingEncoding:NSUTF8StringEncoding]];
    [body appendData:[cate_ID dataUsingEncoding:NSUTF8StringEncoding]];
    [body appendData:[@"\r\n" dataUsingEncoding:NSUTF8StringEncoding]];
    
    
    // parameter   customer_id
    [body appendData:[[NSString stringWithFormat:@"--%@\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]];
    [body appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"customer_id\"\r\n\r\n"] dataUsingEncoding:NSUTF8StringEncoding]];
    [body appendData:[custemor_id dataUsingEncoding:NSUTF8StringEncoding]];
    [body appendData:[@"\r\n" dataUsingEncoding:NSUTF8StringEncoding]];
    
    NSLog(@"custemor_id@%@",custemor_id);
    
// close form
  [body appendData:[[NSString stringWithFormat:@"--%@--\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]];
    
  [request setHTTPBody:body];
    
    // set the content-length
   NSString *postLength = [NSString stringWithFormat:@"%lu", (unsigned long)[body length]];
   [request setValue:postLength forHTTPHeaderField:@"Content-Length"];
    
       
   NSURLConnection *conn= [NSURLConnection connectionWithRequest:request  delegate:self];
  if(conn)
   {
    

    responseData=[[NSMutableData alloc] init];
    }

    
 }

#pragma mark......................
#pragma mark nsurlconnection delegate

-(void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data
{
    [responseData appendData:data];
}

-(void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error
{
    NSLog(@"%@",error);
    [MyCustomeClass SVProgressMessageDismissWithError:[error localizedDescription] :1.0f];
    
}
-(void)connectionDidFinishLoading:(NSURLConnection *)connection
{
    NSMutableString *responseString=[[NSMutableString alloc] initWithData:responseData encoding:NSUTF8StringEncoding];
    NSLog(@"%@",responseString);
    
    NSDictionary *dict=[MyCustomeClass jsonDictionary:responseString];
    
    NSLog(@"ddd%@",dict);
    
    NSString *resp = [dict objectForKey:@"status"];
    
    
    if ([@"success" isEqualToString:resp])
    {
        [MyCustomeClass SVProgressMessageDismissWithSuccess:[dict objectForKey:@"msg"] :1.0];
        
        
        MyInsightViewController *MVC = [[MyInsightViewController alloc] initWithNibName:@"MyInsightViewController" bundle:nil];
        [self.navigationController pushViewController:MVC animated:NO];
        

    }
    
    else
    {
        [MyCustomeClass SVProgressMessageDismissWithError:[dict objectForKey:@"message"] :1.0f];
    }
    
}