Alamofire:图像下载请求问题

时间:2017-03-22 04:25:26

标签: ios xcode swift3 alamofire

我是Swift中的新手,我在我的项目中使用Alamofire框架,在提供下载图像请求时遇到以下问题,我使用以下代码:

let imageURL = Constant.BaseAPI_URL + "/" + driver.driverProfile
Alamofire.request(.GET, imageURL).response() {
        (_, _, data, _) in
        let image = UIImage(data: data! as! NSData)
        deiverProfileImageView.image = image
}

问题:

Click Here For Image Description

3 个答案:

答案 0 :(得分:1)

试试这个:

let imageURL = Constant.BaseAPI_URL + "/" + driver.driverProfile


    Alamofire.download(imageURL).responseData { response in
        if let data = response.result.value {
            let image = UIImage(data: data)
            deiverProfileImageView.image = image
        }
    }

答案 1 :(得分:0)

尝试以下代码

let imageURL = Constant.BaseAPI_URL + "/" + driver.driverProfile
Alamofire.request(imageURL).responseData(completionHandler: { response in
   if let imageData = response.data
   {
        deiverProfileImageView.image = imageData
    }
})

答案 2 :(得分:0)

试试这个:

让imageUrl =" www.your_url.com"

Alamofire.download(imageUrl).responseData {
  response in
      if let data = response.result.value {
           let image = UIImage(data: data)
           ProfileImage.image = image
       }
}

根据我的最简单方法是使用SDWebImage

将其添加到您的pod文件

  pod 'SDWebImage', '~> 4.0'

运行pod install

现在导入SDWebImage

      import SDWebImage

现在从网址设置图片

    imageView.sd_setImage(with: URL(string: "http://www.domain/path/to/image.jpg"), placeholderImage: UIImage(named: "placeholder.png"))

它将显示占位符图像,但是当下载图像时,它将显示来自网址的图像。您的应用程序永远不会崩溃

这是SDWebImage的主要功能

UIImageView,UIButton,MKAnnotationView的类别添加Web图像和缓存管理

异步图片下载

具有自动缓存到期处理的异步内存+磁盘映像缓存

背景图片解压缩

保证不会多次下载相同的网址

保证不会一次又一次地重试虚假网址

保证主线程永远不会被阻止  表演!

使用GCD和ARC

了解更多https://github.com/rs/SDWebImage