upload de imagem rapidamente com vários parâmetros

Estou tentando fazer upload de uma imagem para um cliente de back-end usando o swift. O problema é que não consigo obter a formatação correta para o httpbody. Não quero usar um formulário de várias partes para fazer o upload, pois não sei como lidar com isso no back-end.

Aqui está o código que eu tenho .. ele não funciona quando eu vejo a imagem on-line, ela não é exibida e são apenas 70kb que eu sei que definitivamente não é o tamanho da imagem.

var bodyString: String = "session_id=\(session_id)&location_id=\(location_id)"
bodyString = bodyString.stringByAddingPercentEscapesUsingEncoding(NSUTF8StringEncoding)!
var body = NSMutableData.alloc()
body.appendData(bodyString.dataUsingEncoding(NSUTF8StringEncoding, allowLossyConversion: true)!)
if image != nil{
    var imageData = UIImageJPEGRepresentation(image,0.5)
    body = NSMutableData.alloc()
    //var imageDataString = imageData.base64EncodedStringWithOptions(NSDataBase64EncodingOptions(rawValue: 0))
    bodyString = "session_id=\(session_id)&location_id=\(location_id)&image_data="
    bodyString = bodyString.stringByAddingPercentEscapesUsingEncoding(NSUTF8StringEncoding)!
    body.appendData(bodyString.dataUsingEncoding(NSUTF8StringEncoding, allowLossyConversion: true)!)
    var imageString = "&image_data=\(imageData)"
    body.appendData(imageData)
    }
req.HTTPBody = body

UPDATE: então eu decidi seguir a rota base64, mas ainda não parece estar funcionando, acho que porque estou codificando-a como uma ntf8string. Essa é a maneira correta de fazer isso?

var imageData = UIImageJPEGRepresentation(image,0.5)
var imageDataString = imageData.base64EncodedStringWithOptions(.allZeros)
body = NSMutableData.alloc()
bodyString = "session_id=\(session_id)&location_id=\(location_id)&tag_type=\(tag_type)&image_data=\(imageDataString)"
bodyString = bodyString.stringByAddingPercentEscapesUsingEncoding(NSUTF8StringEncoding)!
body.appendData(bodyString.dataUsingEncoding(NSUTF8StringEncoding, allowLossyConversion: true)!)

e no back-end eu estou decodificando como:

image_data_decoded = base64.b64decode(image_data)

questionAnswers(1)

yourAnswerToTheQuestion