#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 вместе с изображениями как составные