我正在编写一个PhoneGap应用程序,最初在Android上工作。
我正在编写它以从相机中收集图像并将它们存储在数据库中(使用数据库的HTML5功能的SQLite数据库)。
因此,有两个选项,将图像存储在数据库中,并将图像存储在SD卡上,并通过文件名引用它们。
所以将它们存储在SD卡上,如何阻止有人删除它们?我不能说,我的意思是他们也可以取出SD卡。
将它们存储在数据库中,HTML5规范建议数据库不应超过5 MB,如果是,则会询问用户是否要增加大小。但也许对于PhoneGap应用来说,这不是一个真正的问题吗?
答案 0 :(得分:1)
我的建议是将图像存储为文件系统上的文件。拍摄照片后,它将显示在SD卡上,然后您使用文件API将图像移动到/ data / data / {app package name}。该目录受到保护,用户不太可能删除该沙箱中的文件。它还有额外的好处,当你的应用程序被卸载时,目录被清理。
这将解决您拍摄照片并返回Base64数据的一系列问题。在很多手机上,相机非常好,base64编码的字符串会导致内存不足的错误,所以我告诉人们尽可能避免使用DATA_URL选项。此外,现在您可以在数据库中存储更少的数据,并且不会轻易地达到大小限制。