Я получил URL-адрес изображения, используя Alamofire и SwityJSON для анализа ответа, полученного от API. Позже, в моем коде, я пытаюсь использовать AlamofireImage, чтобы установить это изображение в ImageView... Я пытаюсь сделать следующее:
let headers = ["Authorization": requestToken, "Content-Type": "image/jpg"]
print(foods[indexPath.row].image)
Alamofire.request(.GET, imageEndPoint, headers: headers)
.responseImage { response in
debugPrint(response)
print(response.request)
print(response.response)
if let image = response.result.value {
print("image downloaded: \(image)")
}
}
Однако при отладке я получаю следующие ошибки
Request]: <NSMutableURLRequest: 0x7fa93e052e60> { URL: http://159.203.92.55:9000/api/media/image?path=./server/uploads/images/products/jOqmy768a5wN2tcPd07cPhVH.jpg }
[Response]: <NSHTTPURLResponse: 0x7fa93e05a0a0> { URL: http://159.203.92.55:9000/api/media/image?path=./server/uploads/images/products/jOqmy768a5wN2tcPd07cPhVH.jpg } { status code: 200, headers {
Connection = "keep-alive";
"Content-Type" = "image/jpg";
Date = "Sun, 17 Jan 2016 16:28:38 GMT";
"Transfer-Encoding" = Identity;
"X-Powered-By" = Express;
} }
[Data]: 26224 bytes
[Result]: FAILURE: Error Domain=com.alamofire.error Code=-1016 "Failed to validate response due to unacceptable content type" UserInfo={NSLocalizedFailureReason=Failed to validate response due to unacceptable content type}
Optional(<NSMutableURLRequest: 0x7fa93e052e60> { URL: http://159.203.92.55:9000/api/media/image?path=./server/uploads/images/products/jOqmy768a5wN2tcPd07cPhVH.jpg })
Очевидно, есть ошибка из-за типа контента, но я не уверен, как ее решить:
[Result]: FAILURE: Error Domain=com.alamofire.error Code=-1016 "Failed to validate response due to unacceptable content type" UserInfo={NSLocalizedFailureReason=Failed to validate response due to unacceptable content type}
Из-за этой ошибки я не могу продолжить и просто установить изображение в imageView
cell.thumbnailImageView.image = myImage
Когда я пытаюсь выполнить те же запросы с помощью Chrome Postman, я получаю изображение без каких-либо проблем.
Предложения кто-нибудь? спасибо
ОБНОВЛЕНИЕ: я нашел способ, который далек от того, что я хотел, но работает
Alamofire.request(.GET, foods[indexPath.row].image, headers: headers)
.response { (request, response, data, error) in
debugPrint(response)
cell.thumbnailImageView.image = UIImage(data: data!, scale: 1)
}
это ванильный Alamofire, поэтому я до сих пор не смог использовать AlamofireImage, который обеспечивает лучшую поддержку изображений. Я получил этот метод из следующего сообщения: Как быстро загрузить изображение с помощью Alamofire (ответ Skywinder)