Reputation: 5331
So I am trying to download images from url link and then trying to add them to an array of downloaded images but running into trouble.
I have searched stackoverflow and related sites, but could not find similar issue.
There are two kinds of images that I am downloading.
Example of 1st type is : http://img.youtube.com/vi/7lC3UZtLa6Y/0.jpg
Example of 2nd type is : http://master.dextra.xyz/_uploads/photos/image_111.webp
Please click on both to see the difference
I have no trouble downloading the first type, simply by using the following code. But as you can see the second url link would download itself on clicking and hence I get nil when extracting it
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0)) {
// Downloading image 1
let data = NSData(contentsOfURL: NSURL(string: "http://img.youtube.com/vi/7lC3UZtLa6Y/0.jpg")!)
self.downloadedImages.append(UIImage(data: data!)!)
// No problem downloading above image, also shows up in my app
// Downloading image 2
let data = NSData(contentsOfURL: NSURL(string: "http://master.dextra.xyz/_uploads/photos/image_111.webp")!)
self.downloadedImages.append(UIImage(data: data!)!)
// getting nil in UIImage(data: data!), although it says that data is around 300000 bytes.
dispatch_async(dispatch_get_main_queue(), {
// Updating UI
});
}
So, how can I download images of second type? It downloads it successfully. But cannot access it because it stores in computer somewhere, I am not sure about it though
Any help would be appreciated. Thanks
Upvotes: 1
Views: 4401
Reputation: 2229
I have tried your code. The image is successfully downloaded in the second case. The reason why you are getting nil
instead of valid UIImage is unsupported image format. Here is the list of supported formats:
Tagged Image File Format (TIFF)
Joint Photographic Experts Group (JPEG)
Graphic Interchange Format (GIF)
Portable Network Graphic (PNG)
Windows Bitmap Format (DIB)
Windows Icon Format (.ico)
Windows Cursor (.cur)
XWindow bitmap (.xbm)
Hope it helps.
Upvotes: 3