2016-10-17 2 views
0

J'ai une demande AlamofireEnvoyer une demande Alamofire avec des paramètres et aussi l'image dans le corps HTTP

let parameters = ["key1":value1, "key2":value2, "keyn":valueN] as [String: AnyObject] 

Alamofire.request(.POST, url, parameters: parameters, encoding: .JSON, headers: ["Authorization": auth_token]).validate().responseObject() { 
// etc 
} 

Mais je dois ajouter une image jpg sous une clé « image » au corps de la requête HTTP, comment Je fais ça? J'ai du mal à trouver une solution simple Alamofire pour cela. J'ai besoin de garder les paramètres actuels, mais aussi envoyer une image avec le POST dans le corps de la demande

+0

Je recommande fortement de ne pas télécharger d'images dans le corps, même en tant que base64. Il serait préférable d'envoyer les images à un compartiment, puis envoyer l'emplacement de l'URL de l'image. Sinon, vous serez inutile de brûler beaucoup de ram sur l'image uploads – treyhakanson

Répondre

1

Que diriez-vous de convertir l'image en base64?

if let imageData = UIImageJPEGRepresentation(selectedImage, 0.30) 
    { 
     let strBase64:String = imageData.base64EncodedStringWithOptions(.Encoding64CharacterLineLength) 
    } 

* Je compresse également la qualité ici.

+0

l'API avec laquelle je travaille spécifiquement ne veut pas Base64 mais l'image elle-même dans le corps HTTP. Jamais téléchargé une photo avant donc tout cela est très nouveau pour moi –