how to load image from local path ios swift (by path)

后端 未结 8 1724
长情又很酷
长情又很酷 2020-12-04 20:02

In my app I am storing an image in local storage and I am saving the path of that image in my database. How can I load the image from that path?

Here is the code I a

8条回答
  •  清歌不尽
    2020-12-04 20:42

    Folder /B2A1EE50- ... changes every time you run application.

    ../Application/B2A1EE50-D800-4BB0-B475-6C7F210C913C/Documents/..
    

    Which works for me is to store fileName and get documents folder.

    Swift 3 +

    Create getter for directory folder

    var documentsUrl: URL {
        return FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first!
    }
    

    Save image :

    private func save(image: UIImage) -> String? {
        let fileName = "FileName"
        let fileURL = documentsUrl.appendingPathComponent(fileName)
        if let imageData = UIImageJPEGRepresentation(image, 1.0) {
           try? imageData.write(to: fileURL, options: .atomic)
           return fileName // ----> Save fileName
        }
        print("Error saving image")
        return nil
    }
    

    Load image :

    private func load(fileName: String) -> UIImage? {
        let fileURL = documentsUrl.appendingPathComponent(fileName)
        do {
            let imageData = try Data(contentsOf: fileURL)
            return UIImage(data: imageData)
        } catch {
            print("Error loading image : \(error)")
        }
        return nil
    }
    

提交回复
热议问题