Хранение изображений в автономном режиме в PWA - PullRequest
0 голосов
/ 15 ноября 2018

Я создаю Manual PWA (не использую Framework IONIC, React и т. Д.) Для моего существующего размещенного веб-сайта. Мое основное требование - я хочу сделать снимок с камеры телефона. Но условия таковы: 1. Когда я снимаю картинку, я буду полностью в автономном режиме. 2. Я хочу загрузить его на сервер средствами в базе данных. Но поскольку я не в сети, я хочу сохранить это в локальном хранилище, и когда я вернусь в сеть даже через 3 дня, он возобновит работу оставшейся вещи и автоматически загрузит изображение на сервер.

Я пытался использовать javascript, но не получил так много. Основной подход, который я хочу, это:

if(camera clicked)->
   if(upload btn clicked)-> 
        if(device is online)-> 
           upload to the server;
           (**or I can call one function here which can upload the image to server.)
        else if(device is offline)->
           upload to localstorage;
//again when device gets online I will call one **function(which is I am calling from **) in constructor which get executed everytime when site is reloaded or app is opened. 

My ** function will be :
upload()->
    if(device is online)->
      try looking into localstorage -> if image address is available ->
        upload_image_to server where src="address_of_image_in_localstorage".

Я хочу реализовать это, используя только html и javascript, а не фреймворк. Код, который я добавил выше, является только предполагаемым подходом, а не кодом любого типа. Пожалуйста, предложите любой улучшенный подход, если есть. И будет лучше, если кто-нибудь сможет помочь с внедренным кодом, а не только с информативными ответами.

Подход только для Android сейчас, но может предложить журнал, если есть для другой платформы для понимания.

Ответы [ 2 ]

0 голосов
/ 05 июля 2019

Я бы посоветовал вам использовать локальную папку, в которой вы сохраните свой файл, и ссылку на него [ex, path] сохранить в индексированной базе данных.

Вы можете синхронизировать изображение при наличии подключения к Интернету

0 голосов
/ 15 ноября 2018

Я бы порекомендовал сначала преобразовать изображение в базу 64 и сохранить его в localstorage. Существует событие под названием online , которое определяет, когда пользователь снова выходит в сеть, и там вы можете загрузить свое изображение в БД:

window.addEventListener("online", function(){ alert("User is now online"); }); 
...