从本地目录加载UIImage

时间:2018-04-30 09:49:53

标签: swift xcode swift3

我正在尝试从文档目录加载UIImage,如下所示:

$('#Parent').on('click', '#myButton'  onButtonClicked);

无法从目录创建数据, 错误:“无法打开文件”3.png“,因为没有这样的文件。”

Screenshot of URL path

3 个答案:

答案 0 :(得分:1)

您可以使用loadImage函数并传递图像路径,它检查imageFile是否存在于路径中,并使用String的contentsOfFile方法从给定路径返回UIImage

func loadImage(at path: String) -> UIImage? {
    let paths = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)
    let documentPath = paths[0]
    let imagePath = documentPath.appending(path)
    guard fileExists(at: imagePath) else {
        return nil
    }
    guard let image = UIImage(contentsOfFile: imagePath) else {
        return nil
    }
    return image
}

func fileExists(at path: String) -> Bool {
    return FileManager.default.fileExists(atPath: path)
}

使用:

loadImage(at: "/filescheme/filescheme/images/3.png")

答案 1 :(得分:0)

试试这个

var documentsPath = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)[0]
documentsPath.append("/filescheme/filescheme/images/3.png")
let image = UIImage(contentsOfFile: documentsPath)

您可以直接使用documentsPath而无需将其转换为数据

答案 2 :(得分:0)

我发现了问题,该文件夹名为" fileScheme"不是" filescheme"所以,

var documentsPath = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)[0]
documentsPath.append("/filescheme/fileScheme/images/3.png")
let image = UIImage(contentsOfFile: documentsPath) // it works