2014-04-18 46 views
9

我有一個chrome擴展,它將一堆數據保存到chrome.storage.local。我試圖找到簡單的方法來導出這些數據並將其打包到一個文件中。我沒有限制它是什麼類型的文件(JSON,CSV,無論什麼),我只需要能夠將內容導出到獨立(和可發送)文件。該擴展只能在本地運行,用戶可以訪問所有本地文件。Chrome擴展:本地存儲,如何導出

回答

9

首先,你需要獲得所有數據。
然後序列化結果。
最後,將其作爲下載提供給用戶。

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

要使用chrome.downloads.download方法,你需要聲明"downloads"權限除了在清單文件中的storage權限。

+0

感謝您的回答。道歉我在驗證時有點遲疑。只要我能夠,並且假設這是最佳路線,我會標記正確。謝謝! – ZAR

0

你應該看看這裏:https://groups.google.com/a/chromium.org/forum/#!topic/chromium-extensions/AzO_taH2b7U

這表明出口鉻本地存儲JSON。

希望它可以幫助

+0

這不是['chrome.storage'](https://developer.chrome.com/extensions/storage),而是'localStorage'。 –

+0

@ unit998x,謝謝你的迴應。我以前看過這篇文章,它能夠以JSON格式顯示內容。但是這不會提示用戶下載輸出。我聽說有人推薦使用HTML5的文件處理,但如果有一個chrome API來處理這個問題,它會更容易(因爲它已經存儲在chrome.storage中)。謝謝您的幫助! – ZAR

相關問題