所以我尝试从url链接下载图像,然后尝试将它们添加到下载图像的数组中,但遇到了麻烦。
我已经搜索了stackoverflow和相关网站,但找不到类似的问题。
我正在下载两种图像。
第一类的例子是:http://img.youtube.com/vi/7lC3UZtLa6Y/0.jpg
第二种类型的示例是:http://master.dextra.xyz/_uploads/photos/image_111.webp
请点击两者以查看差异
我只需使用以下代码即可下载第一种类型。但正如你所看到的那样,第二个url链接会在点击时自行下载,因此我在提取它时会得到nil
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
});
}
那么,我该如何下载第二种图像?它成功下载。但无法访问它,因为它存储在某个地方的计算机中,虽然我不确定
任何帮助将不胜感激。感谢
答案 0 :(得分:3)
我已经尝试过您的代码了。在第二种情况下成功下载图像。您获得nil
而不是有效UIImage的原因是不支持的图像格式。以下是支持的格式列表:
标记图像文件格式(TIFF)
联合图像专家组(JPEG)
图形交换格式(GIF)
便携式网络图形(PNG)
Windows位图格式(DIB)
Windows图标格式(.ico)
Windows Cursor(.cur)
XWindow位图(.xbm)
希望它有所帮助。