6

我已经搜索了很长时间,以寻找一种在 HTML5 中存储大量图像的方法,或者访问它们存储在本地并显示它们。

该应用程序是一个产品订购和目录,就像一个电子商务网站,但对于批量订单,而不是最终客户,每个图像都是一个产品,这就是为什么需要有 40k 个图像的原因。需求来自于要求销售人员可以离线模式使用平板电脑数天、数周,并且只有在他连接或想要同步时才与 ERP 同步。

每个销售人员都有一个专用的 Android 平板电脑 Tegra3 Quad-Core,32Gb 用于应用程序。但该应用程序还支持桌面上的 iPad 和 Chrome。

但是,我面临以下限制:

  1. 离线使用 html5(应用程序缓存) - 这在 iOS 设备中被限制为 50Mb,并且难以管理清单文件。
  2. 使用带有 base64 编码图像的 webSQL 数据库。相同的大小限制 (50Mb)。
  3. 将 localCache 与 base64 一起使用,再次限制大小(5 到 10Mb)。
  4. 将我的 HTML5 应用程序转换为使用 PhoneGap File API,但随后我失去了对 Windows PC 的桌面支持,并且在 Web 服务方面遇到了一些问题。

所以也许我错过了另一种方法来做到这一点?

有没有一种 HTML5 方法来存储大量图像以供离线查看?移动设备不支持 FileSystem API,并且能够在移动设备上运行是一个强烈的要求。

4

5 回答 5

2

Phonegap 自己的文件系统 API 实现不应该在移动设备上工作吗?我的意思是这就是为什么首先创建Phonegap。

直接来自 FileReader 的 Cordova API 文档:

支持的平台

  • 安卓
  • BlackBerry WebWorks(OS 5.0 及更高版本)
  • iOS
  • Windows Phone 7 和 8
  • 视窗 8
于 2013-03-04T10:16:29.123 回答
1

该解决方案将使用 File API 将 HTML5 应用程序的一个端口传递给 phoneGap 应用程序。

HTML5 不同的实现是这个决定的原因。由于 AppCache 在大多数移动浏览器中非常有限,并且缺乏对 FileSystem API 的支持。您只能在移动浏览器上存储 16-52Mb 的事实是 HTML5 Web 应用程序需要大量本地存储数据(可离线使用)的限制因素。

于 2013-03-05T23:20:19.333 回答
0

随机的,精灵表?只会制作一个文件,并将请求最小化

于 2013-03-05T13:33:52.600 回答
0

运行只能接受本地连接的本地网络服务器怎么样?在 Apache 中,配置文件中的“允许来自 127.0.0.1”之类的内容应该可以解决问题。使用本地网络服务器可以让您避开任何 HTML 限制。

于 2013-03-08T21:35:57.230 回答
0

您可以简单地将其存储在您的 sqlite 数据库中。您可以在产品详细信息表中再添加一个字段(列)。

您可以以 BLOB 格式或 base64 格式存储图像。(在您的数据库中)。

使用phoneGap,您可以轻松访问您的数据库和数据库中的不同表。

为了提高性能并节省带宽:您可以做的是应用延迟加载图像。每当您下载新图像时,只需将其存储到数据库中即可。

这样您就可以避免 I/O 操作,而且如果您使用 MVC,那么在您的产品详细信息对象(模态类)中,您也将拥有图像对象。

希望这个建议对你有用:)

于 2013-03-11T09:40:53.330 回答