0

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

谢谢。

4

1 回答 1

0

关于 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];
}
于 2012-09-19T10:58:31.730 回答