Search code examples
iosswiftuiimagepickercontroller

swift:How to save the base64String encoded Image into local directory


I am trying to save my photo into local directory. I have used UIImagePickerView Controller using Swift. After uploading the picture i got the response of picture uploaded in base64String.

I convert them as follows:

//encoding
let base64String = imageData.base64EncodedStringWithOptions(NSDataBase64EncodingOptions(rawValue: 0))
print(base64String)


//decoding
let decodedData = NSData(base64EncodedString: base64String, options: NSDataBase64DecodingOptions(rawValue: 0))
var decodedimage = UIImage(data: decodedData!)
print(decodedimage)

//Turning base64 encoded string into an NSData
let encodedImageData = base64String
let FinalimageData = NSData(base64EncodedString: encodedImageData, options: [])
print(FinalimageData)

let image = UIImage(data: FinalimageData!)

Requirement:

I want to save the image to my local directory. How can i do this using Swift 2.


Solution

  • You can save image in local directory in following way. Add Image extension with fileName.

    let filePath = "\(NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)[0])/\(fileName)"
    let imageData : Data = UIImagePNGRepresentation(image)! as Data
     imageData.write(toFile: filePath, atomically: true)