2016-06-14 16 views
0

私はクローム拡張機能を開発しています。ユーザシステムにファイルの一部を永久に保存して、ユーザがその拡張機能を実行するたびにそのデータを取得できるようにしたいと思います。chrome extension - ファイルを永久保存する方法はありますか?

これはChromeのjavascript APIで実現できる方法はありますか?

ありがとうございます。

答えて

0

webkitRequestFileSystemで可能です。 サンドボックスされた永続フォルダにアクセスして、ファイルの作成と読み取りを行うことができます。

2

ブラウザの管理対象データベースにデータを書き込むChrome Storage APIを使用する方がよいと思われる場合は、説明からわかります。これはセッションとブラウザの再起動によって保護されます。

chrome.storage.sync.set({'theKey': theValue}, optionalSuccessCallback); 

シリアル化可能であれば、任意の数のキーと任意の値を使用できます。これは速く、構成設定などにも特に便利です。あなたの拡張が許可を要求する必要があります:あなたのは本当に(例えば、実際のファイルは、後でとして使用するmp3のの束)ファイルを作成したい場合は

"permissions": ["storage"]

を、アナトリーはwebkitRequestFileSystemを使用し、右です。塩の

function onInitFs(fs) { 
    fs.root.getFile('log.txt', {create: true}, function(fileEntry) { 

    // Create a FileWriter object for our FileEntry (log.txt). 
    fileEntry.createWriter(function(fileWriter) { 

     fileWriter.onwriteend = function(e) { 
     console.log('Write completed.'); 
     }; 

     fileWriter.onerror = function(e) { 
     console.log('Write failed: ' + e.toString()); 
     }; 

     // Create a new Blob and write it to log.txt. 
     var blob = new Blob(['Lorem Ipsum'], {type: 'text/plain'}); 

     fileWriter.write(blob); 

    }, errorHandler); 
    }, errorHandler); 
} 

window.requestFileSystem(window.TEMPORARY, 1024*1024, onInitFs, errorHandler); 
+0

穀物::それはかなりの数のコールバックが必要です、本当に「キーの任意の数および任意の値を」使用するストレージAPI(およびHTMLファイルシステムAPI)のために、あなたは '「unlimitedStorage」'許可を得る必要があり'sync'ストレージにはまだクォータがあります。 – Xan

関連する問題