如何在 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