cargar la imagen de forma rápida con múltiples parámetros

Estoy tratando de subir una imagen a un cliente de backend usando swift. El problema es que parece que no puedo obtener el formato correcto para httpbody. No quiero usar un formulario de varias partes para cargar, ya que no sé cómo manejar eso en el back-end.

Aquí está el código que tengo ... no funciona cuando veo la imagen en línea, no se muestra y solo es como 70kb, lo que sé que definitivamente no es qué tan grande es la imagen.

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

ACTUALIZACIÓN: así que decidí ir a la ruta base64 pero todavía no parece funcionar, creo que porque lo estoy codificando como una cadena ntf8 ¿es esta la forma correcta de hacerlo?

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)!)

y en el backend lo estoy decodificando como:

image_data_decoded = base64.b64decode(image_data)