我正在将相机图像保存到我的文档目录中。我正在我的util类中创建一个文档目录。以下是我的代码: -
//Get Document Directory Path
func getDirectoryPath() -> String {
let paths = (NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)[0] as NSString).appendingPathComponent("Phss")
return paths
}
//Create Directory
func createDirectory(){
let fileManager = FileManager.default
let paths = (NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)[0] as NSString).appendingPathComponent("Phss")
if !fileManager.fileExists(atPath: paths){
try! fileManager.createDirectory(atPath: paths, withIntermediateDirectories: true, attributes: nil)
}
else{
Helper.sharedInstance.Print("Already dictionary created." as AnyObject)
}
}
之后我按名称和一些值(docAddedTime)保存图像并将路径(imagePath)存储在我的核心数据DB中。
func saveImageDocumentDirectory(imageData : Data, docName : String) -> String {
let fileManager = FileManager.default
let imagePAth = (getDirectoryPath() as NSString).appendingPathComponent("\(String(describing: docAddedTime!) + "_" + "\(String(describing: docName))").png")
fileManager.createFile(atPath: imagePAth, contents: imageData, attributes: nil)
return imagePAth
}.
我通过保存在本地核心数据DB中的图像路径获取图像。
let fileManager = FileManager.default
let imagePAth = doc!.docPath! //Core Data DB Path of image
if fileManager.fileExists(atPath: imagePAth) {
imgView.image = UIImage(contentsOfFile: imagePAth
}
问题是我第一次能够获取图像并在我的imageView中显示但之后我将再次运行该应用程序并尝试通过此imagePath获取图像,该图像存储在我的核心数据DB中然后它&# 39;没有给出该文件存在于此路径中。
图像出现在同一路径但显示不出口。我不确定为什么会这样。
答案 0 :(得分:0)
let paths = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)[0] as String
let url = URL(fileURLWithPath: paths).appendingPathComponent("fileName")
您可以尝试以上代码段。这个人不会创建一个目录,我建议首先尝试直接从Documents目录中获取,一旦成功,然后创建一个目录然后存储它。让我知道确切的情况。下次运行时显示的路径值是多少。
答案 1 :(得分:0)
每次从Xcode构建应用程序时,都会创建新文件夹,文件将位于新文件夹中。
不要重建应用程序只需从模拟器关闭应用程序,然后从模拟器本身再次启动应用程序。
文件的完整路径如下:
file:///Users/username/Library/Developer/CoreSimulator/Devices/4FA96815-521B-4D84-B5C7-10697DE1908B/data/Containers/Data/Application/54CC678C-7E96-4DB6-83CC-6ECB506DC9BF/Documents/tmp.png
在下一个版本中:
Application/54CC678C-7E96-4DB6-83CC-6ECB506DC9BF/Documents/
将更改为:
Application/3F3093C6-2140-473B-8F99-A717AF162CDE/Documents/
其中3F3093C6-2140-473B-8F99-A717AF162CDE
是由Xcode创建的,不是你