#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 минут)