如何检索照片库路径?

Posted

技术标签:

【中文标题】如何检索照片库路径?【英文标题】:How to retrieve photo library path? 【发布时间】:2011-01-14 05:18:43 【问题描述】:

我在我的应用程序中使用保存在照片库中的照片。 如何检索照片库中保存的照片的路径?

我已将 UIImage 转换为 NSData 并将该数据保存在应用程序的沙箱中(在一个文件中)。使用 sqlite ,我创建了一个数据库并将文件路径保存在数据库中。 每当我需要图像时,我都会从保存在数据库中的文件路径中检索NSData

    NSMutableData *data=[[NSMutableData alloc]init];    
data    =UIImagePNGRepresentation([UIImageimageNamed:@"image.png"]);        
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES);    
NSString *documentsDirectory = [paths objectAtIndex:0];     
NSString *filePath = [documentsDirectory stringByAppendingPathComponent:@"first.txt"];  [data writeToFile:filePath atomically:YES];     
NSString *m=[[@"'"stringByAppendingFormat:filePath]stringByAppendingFormat:@"'"]; 
NSString *query=[[@"INSERT INTO newtable (image) VALUES (" stringByAppendingFormat:m]stringByAppendingFormat:@")"]; 
NSLog(@"query....%@",query);        
[obj configureDatabase:@"Editerdb.rdb"];//function to configure database 
[obj insertInTable:query];// function to insert into db

此代码正在运行。 有什么简单的方法吗?

【问题讨论】:

【参考方案1】:

首先,在第一行中,您将发生内存泄漏。查看UIImagePNGRepresentation 上的文档以寻求帮助。所以删除第一行代码。并使用NSData 而不是NSMutableData 因为您不会更改图像的内容。

其次,您没有将图像路径保存在数据库中,而是将图像本身再次用于此参考文件,以参考UIImagePNGRepresentation 上的文档,因此何时想要图像只需从数据库中检索NSData 对象并转换@987654327 @ 到 UIImage 使用 imageWithData:

【讨论】:

谢谢。但是我怎样才能将 NSData 保存在数据库中?(意味着以哪种格式...(varchar,整数???)) 很抱歉那部分,但我自己没有使用过 sqllite。但是您可以制作一个txt文件来保存图像。谷歌了解如何在 iphone 中制作文本文件 关注此链接howtomakeiphoneapps.com/2009/06/… 你可以在SQLite中将图片的数据保存为BLOB类型,会很有帮助的。

以上是关于如何检索照片库路径?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 URL 路径从 iOS 的照片库中获取图像?

如何获取照片库中最新照片的路径? (作为 NSUrl 或字符串)

如何检索给定相对路径的绝对路径

如何在颤动中实现倾斜的路径(以这张照片为例)

如何在 PHP Laravel Web 服务中获取照片路径

如何在表格视图上方添加封面照片(如路径或每个应用程序)