如何保存使用UIImagePickerController摄像头拍摄的照片以便稍后在应用程序中显示?

Man*_*imp 1 iphone xcode camera ios swift

我让用户用UIImagePickerController拍照,我需要将它保存到应用程序中,以便在以后需要查看时显示.我怎么能做到这一点?

我听说NSUserDefaults会出错.我需要保存的只是一张图片,而不是更多.

Raj*_*jat 14

以下是将图像保存到文档文件夹的功能

func saveImage (image: UIImage, path: String ) -> Bool{
        let pngImageData = UIImagePNGRepresentation(image)
         //let jpgImageData = UIImageJPEGRepresentation(image, 1.0)   // if you want to save as JPEG
        let result = pngImageData.writeToFile(path, atomically: true)
        return result
    }
Run Code Online (Sandbox Code Playgroud)

以下是使用图像名称获取文档目录路径的功能

func fileInDocumentsDirectory(filename: String) -> String {
    let documentsFolderPath = NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory.DocumentDirectory, NSSearchPathDomainMask.UserDomainMask, true)[0] as! String
    return documentsFolderPath.stringByAppendingPathComponent(filename)
}
Run Code Online (Sandbox Code Playgroud)

以下是如何使用图像路径的示例

let imagePath = fileInDocumentsDirectory(myImageName)
Run Code Online (Sandbox Code Playgroud)

以下是将图像保存到该文件夹​​的方法

saveImage(image, path: imagePath)
Run Code Online (Sandbox Code Playgroud)

现在最后一部分是获取图像,因此使用此功能来获取图像

func loadImageFromPath(path: String) -> UIImage? {
    let image = UIImage(contentsOfFile: path)
    if image == nil {
        println("Image not available at: (path)")
    }
    return image
}
Run Code Online (Sandbox Code Playgroud)

以下是您使用上述功能的方法

image = loadImageFromPath(imagePath)
imageView.image = image
Run Code Online (Sandbox Code Playgroud)

希望这对你有所帮助