gpt4 book ai didi

swift - 从磁盘加载文件的问题

转载 作者:行者123 更新时间:2023-11-28 09:26:09 28 4
gpt4 key购买 nike

好吧,这个让我摸不着头脑了一段时间。

我有一个我写到磁盘上的 png 文件。我通过以下方式获取数据:

let data = UIImagePNGRepresentation(scaledImage!)
let filename = getDocumentsDirectory().appendingPathComponent("\(record.uid!).png")

我试了一下,似乎一切正常。生成的文件名是:

file:///var/mobile/Containers/Data/Application/C6B796E8-2DB6-45A4-9B18-EF808B8CA3CA/Documents/580420d51800cd826a7e217c.png

当我尝试从磁盘加载该图像时出现问题。

当我得到文档目录中所有文件的列表时,我得到:

[file:///private/var/mobile/Containers/Data/Application/C6B796E8-2DB6-45A4-9B18-EF808B8CA3CA/Documents/580420d51800cd826a7e217c.png]

我能看到的唯一区别是文件路径的“私有(private)”部分。当我尝试使用文件路径检查文件是否存在时,我从附加文件名(没有私有(private)部分的文件名)中返回,我得到错误。

我错过了什么?

最佳答案

Swift 3/4 code

让我们假设方法 getDocumentsDirectory() 定义如下

func getDocumentsDirectory() -> URL {
let paths = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask)
let documentsDirectory = paths[0]
return documentsDirectory
}

为了保存图片

let data = UIImagePNGRepresentation(scaledImage!)
let filename = getDocumentsDirectory().appendingPathComponent("\(record.uid!).png")
try? data?.write(to: filename)

并且您的图像保存在文档目录中

现在为了加载回来

let imagePath = getDocumentsDirectory().appendingPathComponent("\(record.uid!).png").path

let fileManager = FileManager.default
if fileManager.fileExists(atPath: imagePath){
print("Image Present")
//load it in some imageView
}else {
print("No Image")
}

关于swift - 从磁盘加载文件的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40199594/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com