如何在 iOS 上拍照并保存在 SQLite 数据库中

Posted

技术标签:

【中文标题】如何在 iOS 上拍照并保存在 SQLite 数据库中【英文标题】:How to take a picture and save in SQLite database on iOS 【发布时间】:2011-05-31 10:28:26 【问题描述】:

我有一个相机应用程序,当我点击相机按钮时,相机会打开,用户可以从相机或照片库中拍照。

我已经完成了相机部分,这样当用户点击按钮时,相机就会打开并且他可以拍照。问题是用户从相机拍摄的照片必须保存到 SQLite 数据库中。我被困在这部分。谁能帮我保存从相机拍摄的图像?

【问题讨论】:

Reading and writing images to an SQLite DB for iPhone use的可能重复 【参考方案1】:

如果您使用UIImagePickerController,您可以在其imagePickerController:didFinishPickingMediaWithInfo: 委托方法中获取图像。你得到的图像是一个UIImage 对象。

UIImage *image = [info objectForKey:UIImagePickerControllerEditedImage];
NSData *data = UIImageJPEGRepresentation(image, 1.0);

现在NSData 有一个方法bytes,它返回void*。这将指向一个 C 类型的数组,它应该可以很好地与 SQLite 配合使用。

【讨论】:

【参考方案2】:

您可以在数据库中创建一个 blob 类型的数据字段,然后将字节数据保存到该列中。但是将图像保存在数据库中是一种不好的做法。相反,您可以将图像保存在文档目录中,除非非常需要将图像保存在数据库中。

【讨论】:

【参考方案3】:

现在当你打开相机时,你实现了下面的方法

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage:(UIImage *)img editingInfo:(NSDictionary *)editInfo 

[[picker parentViewController] dismissModalViewControllerAnimated:YES];

在上述方法中添加以下代码:--

NSData *imageData = UIImageJPEGRepresentation(img, 1);

然后调用将数据保存到数据库的方法。

确保将字段类型作为数据库中的 blob。

希望对你有帮助.....

【讨论】:

你好,如果我用相机拍摄照片,那么我如何将照片保存在数据库中,你能帮我看看它的代码是什么 我也在找同样的东西,你能提供将捕获图像保存在数据库中的代码吗,它对我有很大帮助,它是我的应用程序的主要部分,我无法做到。

以上是关于如何在 iOS 上拍照并保存在 SQLite 数据库中的主要内容,如果未能解决你的问题,请参考以下文章

如何将从 UIImagePickerViewController 中选择的图像路径保存到 sqlite 数据库并稍后访问它? IOS

如何将预先存在的 sqlite 文件导入核心数据 iOS 7.1

如何在ios中将Json数据存储到Sqlite中

如何将文档文件保存到 iOS 中的 SQLite 数据库,以便稍后在程序中查看它们?

如何让我的 SQLite 数据库被保存并从不同的设备访问

使用swift在iOS上本地保存和检索包含所有元数据的照片