【问题标题】: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

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

【问题讨论】:

    标签: iphone objective-c photolibrary


    【解决方案1】:

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

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

    【讨论】:

    • 谢谢。但是我怎样才能将 NSData 保存在数据库中?(意味着以哪种格式...(varchar,整数???))
    • 很抱歉那部分,但我自己没有使用过 sqllite。但是您可以制作一个txt文件来保存图像。谷歌了解如何在 iphone 中制作文本文件
    • 你可以在SQLite中将图片的数据保存为BLOB类型,会很有帮助的。
    猜你喜欢
    • 2011-12-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多