Using HTML5 web database to store files for offline access

I am attempting to create a simple web app for iPad which needs to be used in places with no internet connectivity. The app is essential a simple "slideshow" but also includes some video files (typically around 100MB.)

Initially I was planning on using HTML5's offline manifest caching to sync the assets to the iPad's memory when internet connectivity was available before going on the road, but unfortunately there appears to be a restriction (at least in iOS 3.2) that the cache can total no more than 5MB.

Looking at the way Google use HTML5 web databases I was wondering if an alternative solution might be to sling the video/image assets in to blobs in a database. However, I am having great difficulty finding a way to read the binary data in to store in the blobs in the database.

My questions are:

  1. Could anyone provide [links to] an example of reading in binary data in to a client-side HTML5 web database (and accessing it)?
  2. Would this be a sensible alternative method of implementation in respect of the 5MB restriction?
12
задан andybee 20 August 2010 в 13:37
поделиться

1 ответ

Просто хотел поделиться своим опытом, поскольку он может быть уместным. Мы (пытались) разработать веб-приложение для iPad, которое должно хранить тысячи изображений и файлов (таких как презентации и текстовые документы)

Макет в Windows (Safari 4 и 5) может импортировать изображения в кодировке base64 в базу данных Web SQL (поле большого двоичного объекта) и отображение их с помощью обратного вызова db для установки источника тегов изображений, таких как src="data:image/jpeg;base64,...base65encimagedata..."

Другие файлы (doc, ppt, pdf) нужно было загружать с использованием автономного кеша/манифеста. Несмотря на то, что мы можем загрузить их в базу данных в формате base64, просмотреть их было невозможно.

Теперь проблема... Desktop Safari позволяет создавать большую базу данных SQL (я импортировал 1 гигабайт 3000 изображений) и не налагает известного ограничения на автономный кеш.

Однако на iPad все менее полезно, потому что я не могу создать базу данных размером более 50 МБ, плюс лимит кэша в 5 МБ.

Некоторые альтернативы (я их еще не пробовал):

  1. Попробуйте Opera Mini (или другие доступные браузеры) на iPad.
  2. Я знаю, что Google 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.
5
ответ дан 2 December 2019 в 23:06
поделиться
Другие вопросы по тегам:

Похожие вопросы: