我想知道如何从图库中检索图像并将其路径保存在本地数据库中。在此过程之后,我希望我使用了本地数据库图像路径中的图像。请帮忙!
谢谢。
关于 sqlite 和图像
在 sqlite 中存储路径(而不是图像)是有意义的。或者你可以考虑使用 Core Data。现在 Core Data 提供了在外部存储中存储图像或其他大数据的能力(基本上抽象出查找您自己的目录、获取路径、存储路径等的需要),我会喜欢它。
下面的代码假设您可以处理 sqlite 的杂乱细节,或者使用一些库作为原始实现的包装器。
将图像存储在本地
您可以决定要将图像存储在应用程序文件系统中的哪个位置。假设您要使用文档目录:
- (NSURL *)applicationDocumentsDirectory
{
return [[[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask] lastObject];
}
让我们也假设这些是 png 格式,用于说明目的:
- (NSString *)pathForImageNamed:(NSString *)imageName {
return [[self applicationDocumentsDirectory] stringByPathComponent:imageName];
}
- (void)saveImage:(UIImage *)image name:(NSString *)name {
NSString *path = [self pathForImageNamed:imageName];
[UIImagePNGRepresentation writeToFile:path];
// here, save path to sqlite
}
检索图像
- (UIImage *)imageWithName:(NSString *)imageName {
NSString *imagePath = nil;
// retrieve path name from sqlite db based on image name
return [UIImage imageWithContentsOfFile:imagePath];
}