/ / Przechowywać ścieżkę pliku / obraz lokalnie na smartfonie i przesłać później? - javascript, jquery, cordova

Przechowuj plik / obraz lokalnie na smartfonie i prześlij później? - javascript, jquery, cordova

Buduję aplikację HTML / JS, w którą będę wbudowywaćaplikacja PhoneGap IOS / Android, aby pomóc znajomej w wypełnianiu formularzy ankiet na jej smartfonie, przechowywaniu ich w telefonie, a następnie przesyłaniu na serwer, gdy uzyska zasięg 3G.

Mój problem w tej chwili polega na tym, że chcę się przywiązaćzdjęcia do tych formularzy. Mój plan zakładał użycie jquery do serializacji ścieżki do pliku, zapisanie go w localstorage, a następnie przesłanie później przez ajax. Jednak wydaje się, że to nie działa.

Czy istnieje sposób na zapisanie ścieżki do obrazu, a następnie możliwość przesłania go później? czy muszę jakoś przechowywać cały plik?

Odpowiedzi:

1 dla odpowiedzi № 1

Z dokumentacji Phonegap:

navigator.camera.getPicture (cameraSuccess, cameraError, [cameraOptions]);

Wartość zwracana zostanie wysłana do funkcji cameraSuccess w jednym z następujących formatów, w zależności od cameraOptions określasz:

Ciąg zawierający obraz fotograficzny zakodowany w standardzie Base64.

Ciąg reprezentujący lokalizację pliku obrazu w pamięci lokalnej (domyślnie).

Byłoby prościej po prostu umieścić base64 w plikulocalstorage i pobierz go w momencie przesyłania, ale jeśli wolisz, powinieneś być w stanie zapisać ścieżkę, a następnie pobrać z niej dane i przesłać, gdy masz połączenie.

[EDYTOWAĆ]

Nie myślałem o problemie wskazanym przez @jaay w komentarzach. A co jeśli plik zmieni się później? Może po prostu lepiej przechowywać dane base64.