Я работаю над веб-приложением, которое потенциально будет использоваться в средах с нестабильным подключением к Интернету. Я реализую его как офлайн-приложение HTML5, которое будет использовать локальное хранилище HTML5 (на самом деле плагин jQuery jStorage). Это приложение, управляемое вводом данных, поэтому все новые записи, созданные в автономном режиме, сохраняются в локальном хранилище и будут синхронизированы позже с сервером, когда подключение к Интернету будет восстановлено. У меня это почти получилось, но теперь я столкнулся с требованием, когда пользователям действительно нужно будет загрузить изображение вместе с отправкой данных.
Я нашел эту спецификацию API HTML5 - http://www.w3.org/TR/file-upload/, в котором говорится о загрузке файлов и автономном доступе. Прежде чем я углублюсь в это - есть ли какие-нибудь оболочки для этой функции, которые упростили бы это для меня?
Я также только что нашел эту статью - http://hacks.mozilla.org/2010/02/an-html5-offline-image-editor-and-uploader-application/, который использует общедоступный TwitPic API, и я хотел получить профессиональные отзывы от людей здесь.
Спасибо!
Загрузка файлов в офлайн-приложениях HTML5
Ответы (3)
Я знаю, что прошло много времени с тех пор, как я спрашивал об этом, но я все еще вижу, что этот вопрос был добавлен в избранное и получил голоса, поэтому я решил, что расскажу, как я в итоге решил это. В моем случае файлы не такие большие, поэтому я просто решил кодировать их MIME, а затем сохранить строку в HTML5 localStorage. Это работает как оберег.
Некоторое время назад я написал статью об API файлов HTML5 - http://speckyboy.com/2012/10/30/getting-to-grips-with-the-html5-file-api-2/
Также обратитесь к репозиторию GitHub - https://github.com/mailru/FileAPI для дополнительных элементов управления.
Я не думаю, что localStorage
будет здесь правильным ответом, потому что localStorage
сохраняет только строки и имеет ограничение в 5 мегабайт.
Я предлагаю что-нибудь вроде http://pouchdb.com
Но если вы настаиваете на localStorage
, то в Mozilla Hacks есть статья о хранении изображений в localStorage
: http://hacks.mozilla.org/2012/02/saving-images-and-files-in-localstorage/
indexedDB
может быть лучшим местом для хранения файлов: http://hacks.mozilla.org/2012/02/storing-images-and-files-in-indexeddb/