如何检索照片库路径?

时间:2011-01-14 05:18:43

标签: iphone objective-c photolibrary

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

我已将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 个答案:

答案 0 :(得分:0)

首先,在第一行中你会发生内存泄漏。查看UIImagePNGRepresentation上的文档以获取帮助。所以删除第一行代码。并使用NSData代替NSMutableData因为您没有更改图片的内容。

,其次你不是在数据库中保存图像路径,而是将图像本身再次保存到UIImagePNGRepresentation的引用文件中,以便在想要成像时只需要从数据库中检索NSData对象使用NSData

UIImage转换为imageWithData: