如何从图库中检索图像并将其保存在iphone的本地数据库中?

时间:2012-09-19 10:31:53

标签: iphone objective-c xcode image

我想知道如何从图库中检索图像并将其路径保存在本地数据库中。在此过程之后,我希望我使用了本地数据库映像路径中的映像。请帮忙!

感谢。

1 个答案:

答案 0 :(得分:0)

关于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];
}