Отправить запрос Alamofire с параметрами, а также изображение в теле HTTP

#swift #swift2 #uiimage #alamofire #uiimagejpegrepresentation

#swift #swift2 #uiimage #alamofire #представление uiimagejpeg

Вопрос:

У меня есть запрос Alamofire

 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 
}
  

Но мне нужно добавить изображение в формате jpg под ключом «image» в тело HTTP-запроса, как я могу это сделать? У меня возникли проблемы с поиском простого решения Alamofire для этого. Мне нужно сохранить текущие параметры, но также отправить изображение вместе с сообщением в теле запроса

Комментарии:

1. Я бы настоятельно рекомендовал не загружать изображения в тело, даже в качестве base64. Было бы предпочтительнее отправлять изображения в корзину, а затем отправлять URL-адрес изображения. В противном случае вам не нужно будет тратить много оперативной памяти при загрузке изображений

Ответ №1:

Как насчет преобразования изображения в base64?

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

* Здесь я также сжимаю качество.

Комментарии:

1. API, с которым я работаю, специально не использует Base64, а само изображение в теле HTTP. Никогда раньше не загружал изображение, так что все это для меня очень ново

2. @TommyK ты нашел, как это сделать?. Мне тоже нужно отправить свой json в теле http вместе с изображениями как составные