如何检索照片库路径?
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类型,会很有帮助的。以上是关于如何检索照片库路径?的主要内容,如果未能解决你的问题,请参考以下文章