【发布时间】:2019-02-06 02:36:26
【问题描述】:
我正在尝试使用文件目录保存图像,但我无法在没有错误提示的情况下保存图像
没有这样的文件夹。
这是我的代码,我不知道哪里出错了
// Write image to directory
func writeImageToPath(_ path: String, image: UIImage) {
print("Write image to directory")
// get the documents directory url
let documentsURL = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask)[0]
let folderURL = documentsURL.appendingPathComponent("upload")
if !FileManager.default.fileExists(atPath: folderURL.path) {
do {
try FileManager.default.createDirectory(atPath: folderURL.path, withIntermediateDirectories: true, attributes: nil)
}
catch {}
}
let fileURL = folderURL.appendingPathComponent(path)
let data = UIImageJPEGRepresentation(image, 0.9)
do {
try data!.write(to: fileURL)
}
catch {}
}
// load image from directory
func loadImageFromPath(_ path: String) -> UIImage? {
let documentsURL = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask)[0]
let folderURL = documentsURL.appendingPathComponent("upload")
let fileURL = folderURL.appendingPathComponent(path)
if FileManager.default.fileExists(atPath: fileURL.path) {
//Get Image And upload in server
print("fileURL.path \(fileURL.path)")
do{
let data = try Data.init(contentsOf: fileURL)
let image = UIImage(data: data)
return image
}catch{
print("error getting image")
}
} else {
print("No image in directory")
}
return nil
}
如何正确保存和加载目录中的图像?
【问题讨论】:
-
我不想提供答案,而是想告诉您您所犯的错误。首先,您必须在编写
imageData之前创建目录。其次,您需要使用扩展名.jpg, .png作为完整路径中的图像名称。
标签: ios swift nsfilemanager