如何从没有扩展名的文件加载图像到UIImage

时间:2017-02-27 08:42:56

标签: ios iphone swift uiimage

我在运行时下载了资源。图像位于“caches”目录中的某个子文件夹中。

当我知道文件的路径时,如何将图像加载到UIImage,图像是“PNG”类型,但它没有扩展名?

我看不到任何UIImage的构造函数,它将文件类型作为参数,所以我认为它可能很棘手

2 个答案:

答案 0 :(得分:1)

不,这不是那么难,只需先加载数据。 此处cacheURL是文件的NSURL

NSError *error = nil;
NSData *data = [NSData dataWithContentsOfURL:cacheURL options:NSDataReadingMapped error:&error];

现在您可以检查是否可以加载文件:

if (data) {
    image = [UIImage imageWithData:data];
}

代码在Objective-C中,因为我只是从一个旧项目复制,但应该很容易转换为Swift。

答案 1 :(得分:1)

由于您的文件已下载

let path = "theFilePath"
if let data = NSData(contentsOfFile: path)  {
    let image = UIImage(data: data as Data)
}