我想知道如何从图像库中检索图像并将其路径保存在本地数据库中。在此过程之后,我希望我使用了本地数据库图像路径中的图像。请帮忙!
谢谢。
关于 sqlite 和图像
在 sqlite 中存储路径(而不是图像)是有意义的。 或者,您可以考虑使用核心数据。 现在,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];
}