使用HTML5 Web数据库存储文件以进行脱机访问

and*_*bee 12 html5 ipad

我正在尝试为iPad创建一个简单的Web应用程序,需要在没有互联网连接的地方使用.该应用程序是一个简单的"幻灯片"必不可少的,但也包括一些视频文件(通常约100MB).

最初,我计划使用HTML5的离线清单缓存,以便在上网之前将互联网连接可用时将资产同步到iPad的内存,但不幸的是,似乎存在限制(至少在iOS 3.2中)缓存可以完全没有超过5MB.

看看谷歌使用HTML5网络数据库的方式,我想知道另一种解决方案是否可能将视频/图像资产投入数据库中的blob.但是,我很难找到一种方法来读取二进制数据以存储在数据库中的blob中.

我的问题是:

  1. 任何人都可以提供[链接]将二进制数据读入客户端HTML5 Web数据库(并访问它)的示例吗?
  2. 对于5MB限制,这是否是一种明智的替代实施方法?

Gar*_*ary 5

只是想分享我的经验,因为它可能是相关的.我们(尝试)开发了一个基于iPad的网络应用程序,需要存储1000个图像和文件(如演示文稿和word文档)

Windows上的模拟(Safari 4和5)可以将编码为base64的图像导入到Web SQL数据库(blob字段)中,并使用db回调显示它们以设置图像标记的来源,如 src="data:image/jpeg;base64,...base65encimagedata..."

必须使用脱机缓存/清单上载其他文件(doc,ppt,pdf).即使我们可以将它们作为base64进入数据库,也无法查看它们.

现在问题是...桌面Safari允许您创建一个大型SQL数据库(我做了1 Gig导入的3000个图像.)并且没有对脱机缓存施加已知限制.

然而,在iPad上,事情没那么有用,因为我无法创建超过50Mb的数据库,加上5Mb缓存限制.

一些替代方案(我还没有尝试过)已经:

  1. 在iPad上试用Opera Mini(或其他可用的浏览器)
  2. 我知道谷歌Chrome(使用webkit)对其SQL数据库大小有限制,但你可以"修补它"(https://groups.google.com/a/chromium.org/group/chromium-html5/browse_thread/ thread/8672b2e0cd69a9f7/ebf17070d32c1168?lnk = gst&q = database + size#ebf17070d32c1168)用一些SQL来增加它的大小.也许这可以在iPad上以某种方式完成.