【问题标题】:How to check a image url is real exist - iOS? [duplicate]如何检查图片网址是否真实存在 - iOS? [复制]
【发布时间】:2017-04-12 22:39:15
【问题描述】:

在 iOS 中,我可以检查 url 是否是真实的图像路径吗?

如:

1)http://www.imgs.ie/uploads/banners/esb1.png

这是image 的真实url 路径,但我如何检查它是否存在于代码中?

2)http://www.imgs.ie/uploads/banners/esb2.png

这是image 的失败url 路径,但我如何检查它在代码中不存在?

编辑

感谢rmaddy的建议,我的要求是不要下​​载image,只想知道url是否是真实的图片url,就像url的probe一样。我们可以检查一下。

【问题讨论】:

  • 检查these search results。您确实需要在问题中提供更多详细信息。
  • @rmaddy,好的,我会的
  • 仍在等待您的问题中的其他详细信息。您是否尝试在不实际下载图像的情况下检查 URL 是否存在?请准确解释你想要什么。这将有助于指出什么语言(Swift/Objective-C)。
  • 如果你不想下载整个图像只是为了看看它是否存在,你为什么要接受这样的答案?
  • @rmaddy 我测试了答案。如果是错误的网址。我可以在 else 中做我想做的事情。

标签: ios image url


【解决方案1】:
uiimage *image = [uiimage imagewithurl:@"your url"];
if(image){
//exist
}

【讨论】:

  • 优秀!!!!!!
【解决方案2】:

你为什么不试试这个:

var imageURL: NSURL? {
    didSet {
        image = nil
        if view.window != nil {
            fetchImage()
        }
    }
}

private func fetchImage() {
    if let url = imageURL {
        DispatchQueue.global(qos: .userInitiated).async {
            self.spinner?.startAnimating()
            let contentsOfURL = NSData(contentsOf: url as URL)
            DispatchQueue.main.async {
                if url == self.imageURL {
                    if let imageData = contentsOfURL {
                        self.image = UIImage(data: imageData as Data)
                    } else {
                        self.spinner?.stopAnimating()
                    }
                } else {
                    print("ignored data returned from url \(url)")
                }
            }
        }
    }
}

当你想使用 imageURL 时:

let ImageNames = ["esbn": "http://www.imgs.ie/uploads/banners/esb1.png"]

func getImageNamed(imageName: String?) -> NSURL? {
    if let urlstring = ImageNames[imageName ?? ""] {
        return NSURL(string: urlstring)
    } else {
        return nil
    }
}

imageURL = getImageNamed(imageName: imageName)

【讨论】:

    【解决方案3】:

    你可以使用 Alamofire :

    Alamofire.request(.GET, completeURLImage).response { (request, response, data, error) in
     if data != nil{
         imgView.image = UIImage(data: data!, scale: 1)
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-11-28
      • 2014-11-18
      • 2018-09-17
      • 1970-01-01
      • 2016-08-29
      • 1970-01-01
      • 2014-07-10
      • 1970-01-01
      相关资源
      最近更新 更多