有没有办法替换目录中存在的现有图像文件的图像?
在一个方法中,我从应用程序的目录中检索我称之为“默认”的图像。现在,该应用程序允许用户使用自定义相机拍摄图像,我希望能够使用相同的检索方法(使用默认文件名),但使用相机拍摄的新图像。
有什么想法吗?
谢谢!
更新
@IBAction func show(_ sender: Any) {
image.image = UIImage(named: "image.jpg")
}
@IBAction func saveImages(_ sender: Any) {
self.saveImageDocumentDirectory()
}
func saveImageDocumentDirectory() {
let fileManager = FileManager.default
let paths = (NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)[0] as NSString).appendingPathComponent("image.jpg")
let image = UIImage(named: "image.jpg")
print(paths)
let imageData = UIImageJPEGRepresentation(image!, 0.5)
fileManager.createFile(atPath: paths as String, contents: imageData, attributes: nil)
}
但是,我不知道如何检索它(如果这是将图像保存到现有文件的正确方法)。
答案 0 :(得分:0)
func saveImageDocumentDirectory(){
let fileManager = FileManager.default
let paths = (NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)[0] as NSString).appendingPathComponent("image.png")
let image = UIImage(named: "image.png")
print(paths)
let imageData = UIImageJPEGRepresentation(image!, 0.5)
fileManager.createFile(atPath: paths as String, contents: imageData, attributes: nil)
}
答案 1 :(得分:0)
您可以在swift 4上使用此代码,它在覆盖文件时有效:)
let fileManager = FileManager.default
let path = URL(string: "your file path here")
do {
let image = UIImage(named: "sampleImage")
if let imageData = image?.jpegData(compressionQuality: 0.5) {
try imageData.write(to: path, options: Data.WritingOptions.atomic)
}
} catch {
//handle error here
}