首页 > 解决方案 > 如何使用名称检索保存的图像?

问题描述

我目前正在使用FileManager这样的方式保存图像:

guard let documentsDirectory = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first else { return }
let fileName = imageName
let fileURL = documentsDirectory.appendingPathComponent(fileName)
guard let data = image.jpegData(compressionQuality: 0.8) else { return }

do {
    try data.write(to: fileURL)
} catch let error {
    print("error saving file with error", error)
}

如何使用文件名沿以下类似行检索此文件?

let path = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)[0] as String
let url = NSURL(fileURLWithPath: path)
if let pathComponent = url.appendingPathComponent("fileName") {
    let filePath = pathComponent.path
    let fileManager = FileManager.default
    // ??
} else {
    print("file not available")
}

标签: iosswiftnsfilemanager

解决方案


使用与save代码中相同的 URL 相关 API

let documentsDirectory = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first!
let fileName = "fileName.jpg"
let fileURL = documentsDirectory.appendingPathComponent(fileName)

if let image = UIImage(contentsOfFile: fileURL.path) {
    // do something with the image
} else {
    print("error loading file")
}

推荐阅读