Can't display image from url using Kingfisher

2.6k views Asked by At

I imported Kingfisher

 import UIKit
 import Kingfisher
    

This is my simple code to can explain the problem
Creating an imageView and trying display image from URL

class ViewController: UIViewController {

    @IBOutlet weak var image:UIImageView!
    
    override func viewDidLoad() {
        super.viewDidLoad()
        let rawstring = "https://apis.baytelhekma.com/zinzo/public/storage/" + #"products\November2020\eUWwRjNCYCdHUjGIQiJk.png"#
        
        let url = URL(string: rawstring)
        image.kf.setImage(with: url)

       
    }


}
2

There are 2 answers

0
Menaim On BEST ANSWER

Please check your url again as I've tried another url and it works fine, you can check it:

import UIKit
import Kingfisher
class ViewController: UIViewController {

    @IBOutlet weak var image:UIImageView!
    let rawstring = "https://i.insider.com/5e820b04671de06758588fb8?width=700&format=jpeg&auto=webp"

        override func viewDidLoad() {
            super.viewDidLoad()
            
            
            let url = URL(string: rawstring)
            image.kf.setImage(with: url)

           
        }

}

or you can make url like this if it helped:

 let rawstring = "https://apis.baytelhekma.com/zinzo/public/storage/products/November2020/eUWwRjNCYCdHUjGIQiJk.png"
0
Mikhail Vasilev On

The problem is incorrect url, your're using \ in address.

So

let rawstring = "https://apis.baytelhekma.com/zinzo/public/storage/" + #"products\November2020\eUWwRjNCYCdHUjGIQiJk.png"

provides

https://apis.baytelhekma.com/zinzo/public/storage/products\November2020\eUWwRjNCYCdHUjGIQiJk.png

which is incorrect url


Changing it to

let rawstring = "https://apis.baytelhekma.com/zinzo/public/storage/" + #"products/November2020/eUWwRjNCYCdHUjGIQiJk.png"#

or simply to

let rawString = "https://apis.baytelhekma.com/zinzo/public/storage/products/November2020/eUWwRjNCYCdHUjGIQiJk.png"

will fix your issue