AlamofireImage: Как загрузить изображения с помощью запроса POST - PullRequest
0 голосов
/ 10 мая 2018

AlamofireImage, кажется, должен запрашивать с помощью метода GET в целом. Но в нашем проекте для загрузки изображений мы должны запросить методом POST, потому что мы отправляем токен доступа. Я искал похожий вопрос в переполнении стека, но не смог найти достаточно ответов. Кто-нибудь знает как скачать с POST-запросом?

URL-адрес следующий:

https://host_name/project_name/GetImage

Ответы [ 2 ]

0 голосов
/ 14 мая 2018

Поскольку мы должны отправить параметры в HTTPBodyData, следуя ответу Ло, я внес некоторые изменения в наш код. Вот наш новый код:

let urlPath = "https://host_name/project_name/GetImage"
let parameters:[String: Any] = [
        "token": "tokenValue",
        "imageName": "imageName"
    ]
let dataRequest = Alamofire.request(urlPath,
                                    method: HTTPMethod.post,
                                    parameters: parameters,
                                    encoding: JSONEncoding.default,
                                    headers: [:])
guard let imageRequest = dataRequest.request else {
    return
}
imageView.af_setImage(withURLRequest: imageRequest)

Сначала точка, мы создаем объект DataRequest, а затем преобразуем его в тип URLRequest с помощью метода Alamofire.request().

0 голосов
/ 11 мая 2018

Вы можете использовать метод af_setImage из AlamofireImage расширения UIImageView и передать любой параметр URLRequestConvertible. Например, создайте экземпляр URLRequest с инициализатором Alamofire:

let urlPath = "https://host_name/project_name/GetImage"
if var imageRequest = try? URLRequest(url: urlPath, method: .post) {
    imageRequest.addValue("token", forHTTPHeaderField: "token_field")
    imageView.af_setImage(withURLRequest: imageRequest)
}
...