2014-04-18 17 views
9

Ho un'estensione di Chrome che salva un sacco di dati in chrome.storage.local. Sto cercando di trovare modi semplici per esportare questi dati e comprimerli in un file. Non sono vincolato su quale tipo di file sia (JSON, CSV, qualunque cosa), ho solo bisogno di essere in grado di esportare il contenuto in un file standalone (e in grado di inviare). L'estensione viene eseguita solo localmente e l'utente avrà accesso a tutti i file locali.Chrome Extension: Local Storage, come esportare

risposta

9

In primo luogo, è necessario per ottenere tutti i dati.
Quindi serializzare il risultato.
Infine, offrilo come download per l'utente.

chrome.storage.local.get(null, function(items) { // null implies all items 
    // Convert object to a string. 
    var result = JSON.stringify(items); 

    // Save as file 
    var url = 'data:application/json;base64,' + btoa(result); 
    chrome.downloads.download({ 
     url: url, 
     filename: 'filename_of_exported_file.json' 
    }); 
}); 

Per utilizzare il metodo chrome.downloads.download, è necessario dichiarare il permesso "downloads" oltre al storage autorizzazione nel file manifesto.

+0

Grazie per la risposta. Mi scuso Sono un po 'in ritardo nella verifica. Appena sarò in grado, e supponendo che questa sia la via migliore, segnerò correttamente. Grazie! – ZAR

0

Si dovrebbe guardare qui: https://groups.google.com/a/chromium.org/forum/#!topic/chromium-extensions/AzO_taH2b7U

Essa mostra l'esportazione di storage locale cromato a JSON.

Speranza che aiuta

+0

Questo non è ['chrome.storage'] (https://developer.chrome.com/extensions/storage), ma' localStorage'. –

+0

@ unit998x, grazie per la risposta. Ho visto questo post prima e funziona bene per visualizzare i contenuti in formato JSON. Ma questo non richiede all'utente di scaricare l'output. Ho sentito qualcuno consigliare di utilizzare la gestione dei file HTML5, ma sarebbe più facile se c'è un'API chrome per gestirli (dato che è già presente in chrome.storage). Grazie per l'aiuto! – ZAR

Problemi correlati