0

This is the code that upload an image but I have to send another POST parameter to know who is the person that upload the image.

var request = NSMutableURLRequest(URL: NSURL(string:"https://www.theweb.com/api/img.php")!)

        request.HTTPMethod = "POST"

        var boundary = NSString(format: "---------------------------14737809831466499882746641449")
        var contentType = NSString(format: "multipart/form-data; boundary=%@",boundary)
        //  println("Content Type \(contentType)")
        request.addValue(contentType, forHTTPHeaderField: "Content-Type")
        request.HTTPBody = dataMeData

        var body = NSMutableData.alloc()


        // Image
        body.appendData(NSString(format: "\r\n--%@\r\n", boundary).dataUsingEncoding(NSUTF8StringEncoding)!)
        body.appendData(NSString(format:"Content-Disposition: form-data; name=\"userfile\"; filename=\"\(me)\"\\r\n").dataUsingEncoding(NSUTF8StringEncoding)!)
        body.appendData(NSString(format: "Content-Type: application/octet-stream\r\n\r\n").dataUsingEncoding(NSUTF8StringEncoding)!)
        body.appendData(imageData)
        body.appendData(NSString(format: "\r\n--%@\r\n", boundary).dataUsingEncoding(NSUTF8StringEncoding)!)

        request.HTTPBody = body

        var returnData = NSURLConnection.sendSynchronousRequest(request, returningResponse: nil, error: nil)

        var returnString = NSString(data: returnData!, encoding: NSUTF8StringEncoding)

        println("returnString \(returnString!)")

I have tried to add the following:

body.appendData(thePersonWhoUpload) ---> in NSData encoding it in UTF8 but it doesn't work. 

So the final question is: how can I send another POST parameter which contains a name?

Wain
  • 118,658
  • 15
  • 128
  • 151
Aitor Sola
  • 17
  • 5

2 Answers2

0

Try this way... include uploaded person name in post body only.

NSString *post = [NSString stringWithFormat:@"UploadedBy=%@ &",username];
NSData *postData = [post dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES]; 

postData.appendData(imageData);

body.appendData(imageData);
Sivajee Battina
  • 4,124
  • 2
  • 22
  • 45
0

U need to used multipart/form-data to upload image with parameter
here is a stack overflow link Upload image with parameters in Swift

Or u can used third party library like SwiftHTTP

Community
  • 1
  • 1
Rizwan Shaikh
  • 2,824
  • 2
  • 27
  • 49