2014-04-18 5 views
9

J'ai une extension chrome qui enregistre un tas de données à chrome.storage.local. J'essaie de trouver des moyens faciles d'exporter ces données et de les empaqueter dans un fichier. Je ne suis pas contraint sur quel type de fichier il est (JSON, CSV, peu importe), je dois juste pouvoir exporter le contenu dans un fichier autonome (et send-able). L'extension n'est exécutée que localement et l'utilisateur aurait accès à tous les fichiers locaux.Extension Chrome: stockage local, comment exporter

Répondre

9

D'abord, vous devez obtenir toutes les données.
Puis sérialiser le résultat.
Enfin, offrez-le en téléchargement à l'utilisateur.

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' 
    }); 
}); 

Pour utiliser la méthode chrome.downloads.download, vous devez déclarer l'autorisation "downloads" en plus de l'autorisation storage dans le fichier manifeste.

+0

Merci pour la réponse. Toutes mes excuses, je suis un peu retardé à vérifier. Dès que je peux, et en supposant que c'est le meilleur itinéraire, je vais corriger. Je vous remercie! – ZAR

0

Vous devriez regarder ici: https://groups.google.com/a/chromium.org/forum/#!topic/chromium-extensions/AzO_taH2b7U

Il montre l'exportation stockage local chrome à JSON.

Hope it helps

+0

Ce n'est pas ['chrome.storage'] (https://developer.chrome.com/extensions/storage), mais' localStorage'. –

+0

@ unit998x, merci pour la réponse. J'ai déjà vu ce post et cela fonctionne bien pour afficher le contenu au format JSON. Mais cela n'incite pas l'utilisateur à télécharger la sortie. J'ai entendu quelqu'un recommander d'utiliser ensuite la gestion de fichiers de HTML5, mais il serait plus facile s'il y avait une API de chrome pour gérer cela (car il est déjà stocké dans chrome.storage). Merci pour l'aide! – ZAR

Questions connexes