在应用程序 iOS 中保存图像和视频
Posted
技术标签:
【中文标题】在应用程序 iOS 中保存图像和视频【英文标题】:save image and videos within the app iOS 【发布时间】:2015-02-02 10:14:59 【问题描述】:我希望用户将挑选的图像和视频保存在应用中。所以我想知道什么是最好的。我应该将挑选的图像和视频转换为 NSData 并保存在 Core data 中吗?我到处搜索,每个人都建议使用 Documents Folder 来保存图像和视频,因为 coredata 速度较慢。我刚开始学习CoreData,所以对它了解不多。这是我想出的。
用户选择图像或视频 -> 应用程序将其保存到文档文件夹 -> 使用 coredata,应用程序将文件路径存储为字符串以访问图像或视频。 (用户可以随时使用 icloud 进行备份)
并且用户可以使用 iCloud 在他们的其他设备中访问这些文件。如果我不正确,或者您有更好的选择,或者问题在任何方面都是错误的,请向我解释。谢谢
【问题讨论】:
【参考方案1】:两种方法我都做过,对我来说,这只是如何使用数据库的问题。如果您希望能够备份数据库并与其他人共享,我建议将文件存储在 CoreData 中作为 NSData。如果它只是一个本地数据库,则将 URL 存储到存储在磁盘上的图像可能会更容易。
当您在 CoreData 中设置 Binery 字段时,您可以选择“允许外部存储”,它基本上为您将文件存储在磁盘上,但您可以从数据库中加载它,就像它存储在数据库中一样。这是我最常用于图像的。
使用此选项,可以轻松创建数据库的 zip 文件和与之连接的所有二进制文件,也可以轻松解压缩以恢复数据库。
【讨论】:
我真的不知道。由于您无法控制 CoreData 将数据存储到 100% 的位置,我猜想将数据存储在二进制字段中可能比仅存储字符串要慢。无论如何,我还没有遇到问题。我的数据库存储了大约 1600 张图像。以上是关于在应用程序 iOS 中保存图像和视频的主要内容,如果未能解决你的问题,请参考以下文章
AVAsset 在 iOS 中使用图像叠加保存视频会破坏视频