title: Image(or video) posting to server in Swift
body: <p>Hi I am posting json data to server using NSURLSession in swift as below</p>
  
  <pre><code>         var request = NSMutableURLRequest(URL: NSURL(string: "http://mypath.com"))
           var session = NSURLSession.sharedSession()
           request.HTTPMethod = "POST"
  
           var params2 :NSDictionary = ["email":"myemail@gmail.com"]
           var params :NSDictionary = ["function":"forgotPassword", "parameters":params2]
  
           var err: NSError?
           request.HTTPBody = NSJSONSerialization.dataWithJSONObject(params, options: nil, error: &amp;err)
          request.addValue("application/json", forHTTPHeaderField: "Content-Type")
          request.addValue("application/json", forHTTPHeaderField: "Accept")
  
          var task = session.dataTaskWithRequest(request, completionHandler: {data, response, error -&gt; Void in
  
  
  
  
              var strData = NSString(data: data, encoding: NSUTF8StringEncoding)
              let decodedJson = NSJSONSerialization.JSONObjectWithData(data, options: nil, error:nil) as NSDictionary
  
               println("Body: \(strData)")
  
              //Here I am getting response
  
              var err: NSError?
              var json = NSJSONSerialization.JSONObjectWithData(data, options: .MutableLeaves, error: &amp;err) as? NSDictionary
  
              // Did the JSONObjectWithData constructor return an error? If so, log the error to the console
              if(err != nil) {
                  println(err!.localizedDescription)
                  let jsonStr = NSString(data: data, encoding: NSUTF8StringEncoding)
                  println("Error could not parse JSON: '\(jsonStr)'")
              }
              else {
                  // The JSONObjectWithData constructor didn't return an error. But, we should still
                  // check and make sure that json has a value using optional binding.
                  if let parseJSON = json {
                      // Okay, the parsedJSON is here, let's get the value for 'success' out of it
                      var success = parseJSON["success"] as? Int
                      println("Succes: \(success)")
                  }
                  else {
                      // Woa, okay the json object was nil, something went worng. Maybe the server isn't running?
                      let jsonStr = NSString(data: data, encoding: NSUTF8StringEncoding)
                      println("Error could not parse JSON: \(jsonStr)")
                   }
                  }
              })
  
              task.resume()
  </code></pre>
  
  <p>Now I want to multipart data form to server (Image data / Video data) for key value "image"
  along with other parameters like user_id = 15, about_video_thumb = "myImagejpg"</p>
  
  <p>In objective C I am uplaoding an image like below</p>
  
  <pre><code>  -(void)upLoadThumb{
  
  
     NSMutableURLRequest *request= [[NSMutableURLRequest alloc] init];
     [request setURL:[NSURL URLWithString:@"http://mypath.com/uplaodpic"]];
     [request setHTTPMethod:@"POST"];
  
  
     //Setting content type - multipart/form-data
     NSString *boundary = @"---------------------------14737809831466499882746641449";
     NSString *contentType = [NSString stringWithFormat:@"multipart/form-data; boundary=%@",boundary];
     [request addValue:contentType forHTTPHeaderField: @"Content-Type"];
     NSMutableData *postbody = [NSMutableData data];
    [postbody appendData:[[NSString stringWithFormat:@"\r\n--%@\r\n",boundary] dataUsingEncoding:NSUTF8StringEncoding]];
  
  
  
  
  
     // This is one field user_id
  
        [postbody appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"user_id\"\r\n\r\n%@", @"15"] dataUsingEncoding:NSUTF8StringEncoding]];
        [postbody appendData:[[NSString stringWithFormat:@"\r\n--%@\r\n",boundary] dataUsingEncoding:NSUTF8StringEncoding]];
  
  
  
         [postbody appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"about_video_thumb\"; filename=\"%@\"\r\n", @"myImage.jpg"] dataUsingEncoding:NSUTF8StringEncoding]];
  
       //Appending NSDATA
  
        [postbody appendData:[@"Content-Type: application/octet-stream\r\n\r\n" dataUsingEncoding:NSUTF8StringEncoding]];
       [postbody appendData:[NSData dataWithData:appDelegate.userVdoImageData]];
       [postbody appendData:[[NSString stringWithFormat:@"\r\n--%@--\r\n",boundary] dataUsingEncoding:NSUTF8StringEncoding]];
  
  
       [request setHTTPBody:postbody];
      conn = [[NSURLConnection alloc] initWithRequest:request delegate:self];
      if (conn) {
         webData = [NSMutableData data];
           }
       }
  </code></pre>
  
  <p>How Can I do this with NSURLSession or NSURLConnection in swift ?
  Thanks in advance</p>