2015-09-15 22 views
5

Sto costruendo un'app mobile utilizzando Meteor. Per consentire l'utilizzo offline dell'app, voglio che l'app sia in grado di scaricare un file json di grandi dimensioni mentre è online, quindi accedere ai dati nel file json, scritti in MongoDB, mentre offline.Come memorizzare le immagini in Meteor?

Questo funziona correttamente. Tuttavia, nel file json scaricato, ci sono molti riferimenti a immagini online che non verranno visualizzate nell'app una volta che l'app è offline.

Quindi, voglio essere in grado di scaricare (una selezione di) le immagini referenziate nel file json all'app, in modo che l'app possa accedervi anche quando è offline.

(Download delle immagini potrebbe accadere in background per tutto il tempo è disponibile una connessione.)

C'è un'implementazione di imgCache.jsavailable on Atmosphere, che non riesce a inizializzare per me.

Suppongo che sia teoricamente possibile caricare singolarmente ciascuna immagine su una tela, salvare il contenuto della tela su MongoDB, quindi caricare il contenuto quando necessario. Informazioni su alcuni di questi sono here. Ma questo sembra piuttosto complicato e, se davvero fattibile, mi aspetterei che qualcuno lo facesse prima con successo.

Come posso ottenere la memorizzazione nella cache delle immagini per l'utilizzo offline in Meteor?

+0

Io faccio in questo modo nella mia app mobile, uso 'grounddb' e salverò le immagini sul dispositivo dell'utente usando il plugin 'cordova filetransfer' e poi salverò l'url locale e i dettagli dell'URL remoto per separare la raccolta in db di terra e poi usalo quando è necessario. – Sasikanth

+0

Stai facendo questo in un'app Meteore? Saresti in grado di dare un esempio barebones? – MastaBaba

risposta

1

Quindi, probabilmente avete già letto this article sulla cache dell'applicazione.

Se le immagini sono statiche, è possibile includerle nel manifest. Assicurati di aver compreso le scadenze manifest e cache (vedi l'articolo).

Se le immagini sono dinamici, troverete alcune tecniche per store images in local storage

Se questo è il caso, questo può essere what you want.

+1

Grazie. Questo sembra promettente. Proverò in particolare la libreria menzionata in una delle risposte: https://github.com/moledet/jQueryImageCaching – MastaBaba

+0

La cache di immagini jQuery non ha funzionato per me. A livello locale e remoto, mi è stato presentato un errore per ogni richiesta di memorizzazione nella cache: "SecurityError: DOM Exception 18: è stato effettuato un tentativo di superare la politica di sicurezza dell'agente utente". – MastaBaba

+1

@MastaBaba questo è un problema difficile, è davvero necessario capire i browser e le specifiche per vincere. –

Problemi correlati