使用覆盖将图像保存到文档目录
Saving image to documents directory with overwrite
我正在使用设备相机拍摄照片并将其保存到具有特定文件名的 Documents 目录中。但是,如果已存在同名文件,则不会保存该文件。我怎样才能简单地覆盖同名文件,或者如果它确实存在,先删除它?我更喜欢第一个选项。
let documentsDirectory = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first!
// Create the destination file URL for saving
let fileURL = documentsDirectory.appendingPathComponent(photoFilename)
if let data = image.jpegData(compressionQuality: 1.0),
!FileManager.default.fileExists(atPath: fileURL.path) {
do {
// Write the image data
try data.write(to: fileURL)
} catch {
let alert = UIAlertController(title: "OOPS!", message: "Couldnt save the image!", preferredStyle: .alert)
alert.addAction(UIAlertAction(title: "OK", style: .default, handler: nil))
self.present(alert, animated: true)
}
}
print("not saved")
write(to
默认覆盖数据,但 你 通过检查文件是否存在来阻止它。
只需删除检查
let documentsDirectory = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first!
// Create the destination file URL for saving
let fileURL = documentsDirectory.appendingPathComponent(photoFilename)
if let data = image.jpegData(compressionQuality: 1.0) {
do {
// Write the image data
try data.write(to: fileURL)
} catch {
let alert = UIAlertController(title: "OOPS!", message: "Couldnt save the image!", preferredStyle: .alert)
alert.addAction(UIAlertAction(title: "OK", style: .default, handler: nil))
self.present(alert, animated: true)
}
} else {
print("not saved")
}
我正在使用设备相机拍摄照片并将其保存到具有特定文件名的 Documents 目录中。但是,如果已存在同名文件,则不会保存该文件。我怎样才能简单地覆盖同名文件,或者如果它确实存在,先删除它?我更喜欢第一个选项。
let documentsDirectory = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first!
// Create the destination file URL for saving
let fileURL = documentsDirectory.appendingPathComponent(photoFilename)
if let data = image.jpegData(compressionQuality: 1.0),
!FileManager.default.fileExists(atPath: fileURL.path) {
do {
// Write the image data
try data.write(to: fileURL)
} catch {
let alert = UIAlertController(title: "OOPS!", message: "Couldnt save the image!", preferredStyle: .alert)
alert.addAction(UIAlertAction(title: "OK", style: .default, handler: nil))
self.present(alert, animated: true)
}
}
print("not saved")
write(to
默认覆盖数据,但 你 通过检查文件是否存在来阻止它。
只需删除检查
let documentsDirectory = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first!
// Create the destination file URL for saving
let fileURL = documentsDirectory.appendingPathComponent(photoFilename)
if let data = image.jpegData(compressionQuality: 1.0) {
do {
// Write the image data
try data.write(to: fileURL)
} catch {
let alert = UIAlertController(title: "OOPS!", message: "Couldnt save the image!", preferredStyle: .alert)
alert.addAction(UIAlertAction(title: "OK", style: .default, handler: nil))
self.present(alert, animated: true)
}
} else {
print("not saved")
}