【发布时间】:2016-10-01 04:15:22
【问题描述】:
在我的应用程序中,我将图像存储在本地存储中,并将该图像的路径保存在我的数据库中。如何从该路径加载图像?
这是我用来保存图像的代码:
let myimage : UIImage = UIImage(data: data)!
let fileManager = NSFileManager.defaultManager()
let urls = fileManager.URLsForDirectory(.DocumentDirectory, inDomains: .UserDomainMask)
let documentDirectory = urls[0] as NSURL
print(documentDirectory)
let currentDate = NSDate()
let dateFormatter = NSDateFormatter()
dateFormatter.dateStyle = .NoStyle
dateFormatter.dateFormat = "yyyy-MM-dd HH:mm:ss"
let convertedDate = dateFormatter.stringFromDate(currentDate)
let imageURL = documentDirectory.URLByAppendingPathComponent(convertedDate)
imageUrlPath = imageURL.absoluteString
print(imageUrlPath)
UIImageJPEGRepresentation(myimage,1.0)!.writeToFile(imageUrlPath, atomically: true)
这是我的图像存储的路径
file:///var/mobile/Containers/Data/Application/B2A1EE50-D800-4BB0-B475-6C7F210C913C/Documents/2016-06-01%2021:49:32
这就是我尝试检索图像的方式,但它没有显示任何内容。
let image : String = person?.valueForKey("image_local_path") as! String
print(person!.valueForKey("image_local_path")! as! String)
cell.img_message_music.image = UIImage(contentsOfFile: image)
【问题讨论】:
-
这一行:
imageUrlPath = imageURL.absoluteString需要是imageUrlPath = imageURL.path -
顺便说一句,你不应该把
data转换成UIImage,然后再用UIImageJPEGRepresentation转换回NSData。只需保存原始的data。 -
我处于相同的场景中,请注意,每次运行/构建/更新应用程序时,您的 B2A1EE50xx 文件夹都会更改,如下面的@zsyesenko 所述。所以你需要写
imageUrl而不是imageUrlPath并保存你的文件名(convertedDate在你的情况下)不是路径
标签: ios swift image nsdocumentdirectory