I want to Upload a Image to my Webserver through JSON Encoding in Swift and tried some suggestion from other Threads and Comments. I think the best solution is the following, but know i get an other error-message Here is my Code, including the Image Picker:
    @IBAction func goToLibrary(sender: AnyObject) {
        imagePicker.allowsEditing = false
        imagePicker.sourceType = .PhotoLibrary
        presentViewController(imagePicker, animated: true, completion: nil)
    }
    func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : AnyObject]) {
        if let pickedImage = info[UIImagePickerControllerOriginalImage] as? UIImage {
            myImageView.contentMode = .ScaleAspectFit
            myImageView.image = pickedImage
        }
        dismissViewControllerAnimated(true, completion: nil)
    }
    func imagePickerControllerDidCancel(picker: UIImagePickerController) {
        dismissViewControllerAnimated(true, completion: nil)
    }
    @IBAction func uploadImage(sender: AnyObject) {
        uploadWithAlamofire();
      }
       func urlRequestWithComponents(urlString:String, parameters:Dictionary<String, String>, imageData:NSData) -> (URLRequestConvertible, NSData) {
            // create url request to send
var mutableURLRequest = NSMutableURLRequest(URL: NSURL(string: urlString)!)
        mutableURLRequest.HTTPMethod = Alamofire.Method.POST.rawValue
        let boundaryConstant = "myRandomBoundary12345";
        let contentType = "multipart/form-data;boundary="+boundaryConstant
        mutableURLRequest.setValue(contentType, forHTTPHeaderField: "Content-Type")
        // create upload data to send
        let uploadData = NSMutableData()
        // add image
        uploadData.appendData("\r\n--\(boundaryConstant)\r\n".dataUsingEncoding(NSUTF8StringEncoding)!)
        uploadData.appendData("Content-Disposition: form-data; name=\"file\"; filename=\"file.jpg\"\r\n".dataUsingEncoding(NSUTF8StringEncoding)!)
        uploadData.appendData("Content-Type: image/jpg\r\n\r\n".dataUsingEncoding(NSUTF8StringEncoding)!)
        uploadData.appendData(imageData)
        // add parameters
        for (key, value) in parameters {
            uploadData.appendData("\r\n--\(boundaryConstant)\r\n".dataUsingEncoding(NSUTF8StringEncoding)!)
            uploadData.appendData("Content-Disposition: form-data; name=\"\(key)\"\r\n\r\n\(value)".dataUsingEncoding(NSUTF8StringEncoding)!)
        }
        uploadData.appendData("\r\n--\(boundaryConstant)--\r\n".dataUsingEncoding(NSUTF8StringEncoding)!)
        // return URLRequestConvertible and NSData
        return (Alamofire.ParameterEncoding.URL.encode(mutableURLRequest, parameters: nil).0, uploadData)
    }
    // import Alamofire
    func uploadWithAlamofire() {
        // init paramters Dictionary
        var parameters = [
            "task": "task",
            "variable1": "var"
        ]
        // add addtionial parameters
        parameters["userId"] = "27"
        parameters["body"] = "This is the body text."
        // example image data
        let image = myImageView.image;
        let imageData = UIImagePNGRepresentation(image!)
        // CREATE AND SEND REQUEST ----------
        let urlRequest = urlRequestWithComponents("http://myWebserverdomain.com/project/uploadPhoto.php", parameters: parameters, imageData: imageData!)
        Alamofire.upload(urlRequest.0, data: urlRequest.1)
            .progress { (bytesWritten, totalBytesWritten, totalBytesExpectedToWrite) in
                println("\(totalBytesWritten) / \(totalBytesExpectedToWrite)")
            }
            .responseJSON { (request, response, JSON, error) in
                println("REQUEST \(request)")
                println("RESPONSE \(response)")
                println("JSON \(JSON)")
                println("ERROR \(error)")
            }    
    }
Here the PHP-File:
   <?php
// get picture variables
$file       = $_FILES['file']['tmp_name'];
$fileName   = $_FILES['file']['name'];
$fileType   = $_FILES['file']['type'];
// check extension
$allowedExts = array("jpg", "jpeg", "png");
$rootName = reset(explode(".", $fileName));
$extension = end(explode(".", $fileName));
// create new file name
$time = time();
$newName = $rootName.$time.'.'.$extension;
// temporarily save file
$moved = move_uploaded_file($_FILES["file"]["tmp_name"], "img/".$newName );
if ($moved) $path = "img/".$newName;
$body = $_POST['body'];
$userId = $_POST['userId'];
$time = time();
if ($moved) {
    $fullUrl = "http://myWebserverDomain.com/project/".$path;
    $arrayToSend = array('status'=>'success','time'=>$time,'body'=>$body,'userId'=>$userId, "imageURL"=>$fullUrl);
} else {
    $arrayToSend = array('status'=>'FAILED','time'=>$time,'body'=>$body,'userId'=>$userId);
}
header('Content-Type:application/json');
echo json_encode($arrayToSend);
?>
EDIT:
I tried the Answer from "antiblank" from here : "Uploading file with parameters using Alamofire" with Alamofire.
But know i get an error which reads as follows:
I hope someone knows the answer to this, because i searched the last 5 hours for a solution.
Thank you all!
 
    