我正在使用我的应用程序中保存在照片库中的照片。 如何检索照片库中保存的照片路径?
我已将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
此代码正常运行。 有没有简单的方法呢?
答案 0 :(得分:0)
首先,在第一行中你会发生内存泄漏。查看UIImagePNGRepresentation
上的文档以获取帮助。所以删除第一行代码。并使用NSData
代替NSMutableData
因为您没有更改图片的内容。
,其次你不是在数据库中保存图像路径,而是将图像本身再次保存到UIImagePNGRepresentation
的引用文件中,以便在想要成像时只需要从数据库中检索NSData
对象使用NSData
UIImage
转换为imageWithData: