私はクローム拡張機能を開発しています。ユーザシステムにファイルの一部を永久に保存して、ユーザがその拡張機能を実行するたびにそのデータを取得できるようにしたいと思います。chrome extension - ファイルを永久保存する方法はありますか?
これはChromeのjavascript APIで実現できる方法はありますか?
ありがとうございます。
私はクローム拡張機能を開発しています。ユーザシステムにファイルの一部を永久に保存して、ユーザがその拡張機能を実行するたびにそのデータを取得できるようにしたいと思います。chrome extension - ファイルを永久保存する方法はありますか?
これはChromeのjavascript APIで実現できる方法はありますか?
ありがとうございます。
webkitRequestFileSystemで可能です。 サンドボックスされた永続フォルダにアクセスして、ファイルの作成と読み取りを行うことができます。
ブラウザの管理対象データベースにデータを書き込む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);
穀物::それはかなりの数のコールバックが必要です、本当に「キーの任意の数および任意の値を」使用するストレージAPI(およびHTMLファイルシステムAPI)のために、あなたは '「unlimitedStorage」'許可を得る必要があり'sync'ストレージにはまだクォータがあります。 – Xan