SDWebImage сообщает «URL не найден», хотя он существует

#ios #swift #sdwebimage

#iOS #swift #sdwebimage

Вопрос:

Я хочу загрузить изображение из Интернета и установить его в качестве значка маркера на карте. Для загрузки я использую библиотеку SDWebImage. К сожалению, я всегда получаю сообщение об ошибке, в котором говорится:

 The requested URL was not found on this server.
 

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

Это мой код:

 let url=NSURL(fileURLWithPath:"http://blogs.taz.de/arabesken/files/2012/05/testbild-sendepause-300x240.jpg")

var managerCompletedBlock:(UIImage!, NSError!,SDImageCacheType,Bool) -> Void = {
                      image,error,cacheType,finished in
                      if(finished){
                            if let s = error.localizedDescription
                            {
                                 println(s)
                            }
                       }
      }
var imgManager:SDWebImageManager = SDWebImageManager.sharedManager()
imgManager.downloadWithURL(url, options: SDWebImageOptions.HighPriority, progress: nil, completed: managerCompletedBlock)
 

У меня есть подключение к Интернету (вызовы API работают), и URL-адрес существует. Кроме того, код работает по назначению, если я использую путь к файлу вместо веб-URL.

У кого-нибудь есть идея, в чем проблема?

Ответ №1:

Проблема связана с этим кодом:

 let url=NSURL(fileURLWithPath:"http://blogs.taz.de/arabesken/files/2012/05/testbild-sendepause-300x240.jpg")
 

Измените это на:

 let url=NSURL(string:"http://blogs.taz.de/arabesken/files/2012/05/testbild-sendepause-300x240.jpg")
 

Мы используем fileURLWithPath для локальных путей к файлам, а не для веб-URL.

Комментарии:

1. Спасибо, я чувствую себя таким глупым сейчас. Вот почему копировать и вставлять код плохо. Я приму ваш ответ, как только это будет возможно (SO говорит, что мне нужно подождать еще 5 минут)