Использование веб-базы данных HTML5 для хранения файлов для автономного доступа - PullRequest
12 голосов
/ 20 августа 2010

Я пытаюсь создать простое веб-приложение для iPad, которое необходимо использовать в местах, где нет подключения к Интернету. Приложение является простым «слайд-шоу», но также включает в себя некоторые видеофайлы (обычно около 100 МБ).

Изначально я планировал использовать автономное кеширование манифеста HTML5 для синхронизации ресурсов с памятью iPad, когда подключение к Интернету было доступно, прежде чем отправляться в дорогу, но, к сожалению, существует ограничение (по крайней мере в iOS 3.2), что кэш может составлять не более 5 МБ.

Глядя на то, как Google использует веб-базы данных HTML5, мне стало интересно, может ли альтернативное решение заключаться в добавлении ресурсов видео / изображений в большие двоичные объекты в базе данных. Тем не менее, я испытываю большие трудности с поиском способа считывания двоичных данных для хранения в двоичных объектах в базе данных.

Мои вопросы:

  1. Может ли кто-нибудь предоставить [ссылки на] пример чтения двоичных данных в клиентскую веб-базу данных HTML5 (и доступа к ней)?
  2. Это разумный альтернативный метод реализации в отношении ограничения 5 МБ?

Ответы [ 2 ]

5 голосов
/ 27 августа 2010

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

Макет в Windows (Safari 4 и 5) может импортировать изображения, закодированные как base64, в базу данных Web SQL (поле blob) и отображать их с помощью обратного вызова 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 как-то.
2 голосов
/ 01 сентября 2010

База данных имеет ограничение в 5 МБ, после чего пользователю предлагается добавить еще около 20 МБ. Жесткий лимит составляет 20-25 МБ, после которого вы не можете вставлять больше записей в ваше хранилище.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...