NSURLErrorDomain with code=-1100

ぐ巨炮叔叔 提交于 2019-12-01 17:22:59

The reason you are getting this problem is because you have used

let url = NSURL(fileURLWithPath: userImageURL);

Instead you should use:

let url = NSURL(string: userImageUrl)

I code in Objective-C, it should be easy to convert it in Swift (small modification in fact, but the explanation is not that much related to code). If you check the error complete message, you'll get:

Error Domain=NSURLErrorDomain Code=-1100 "The requested URL was not found on this server." UserInfo=0x7997b7e0 {NSErrorFailingURLStringKey=file:///http:/i.imgur.com/QhCzQoR.jpg, NSErrorFailingURLKey=file:///http:/i.imgur.com/QhCzQoR.jpg, NSLocalizedDescription=The requested URL was not found on this server., NSUnderlyingError=0x799f3080 "The requested URL was not found on this server."}

Clearly, if you look carefully at the URL, you have file:///http:/i.imgur.com/QhCzQoR.jpg, which is not the URL wanted. If you log url.absoluteString, you'll see it to your URL, it's you that set it like this.

Why? Because you used fileURLWithPath: instead of URLWithString:. So change your line with:

let url = NSURL(URLWithString: userImageURL);

Some discussions about the differences between theses two: What is difference between URLWithString and fileURLWithPath of NSURL? or the doc.

Update: In Swift 4:

let url = URL(string: userImageURL)

We also recommend from Swift3+ to avoid NSStuff when there is Swift Equivalent: NSURL => URL.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!