1

プラグインフォルダにデータを保存するFirefoxプラグインを開発しました。バックアップボタンを追加するにはどうすればよいですか。ユーザーがボタンをクリックすると、保存ダイアログが表示され、フォルダーがzipファイルにパックされ、ユーザーの希望する場所に保存されます。

4

2 に答える 2

2

利用可能なzipリーダーzipライターのインターフェイスがあります。

SDKモジュールでの使用例を次に示します:https ://github.com/voldsoftware/ziputils-jplib/blob/master/lib/ziputils.js

于 2012-08-05T11:16:24.953 に答える
1

そのままでは、アドオン SDK には ZIP ファイルを書き込むためのモジュールがありません。ただし、chrome オーソリティを使用すると、基盤となるプラットフォームのnsIZipWriterインターフェイスにアクセスできます。例えば:

var {Cc, Ci, Cu} = require("chrome");
var {FileUtils} = Cu.import("resource://gre/modules/FileUtils.jsm");

var zipFile = FileUtils.getFile("ProfD", ["test.zip"], false);
var savedFile = new FileUtils.File("C:\\foo.exe");
var zipWriter = Cc["@mozilla.org/zipwriter;1"].createInstance(Ci.nsIZipWriter);
zipWriter.open(zipFile, FileUtils.MODE_WRONLY | FileUtils.MODE_CREATE);
zipWriter.addEntryFile("foo.exe", zipWriter.COMPRESSION_BEST, savedFile, false);
zipWriter.close();

これによりtest.zip、ユーザーのプロファイル ディレクトリにファイルが作成され、そこに書き込まc:\foo.exeれます。FileUtilsドキュメントも参照してください。

于 2012-08-06T08:05:24.093 に答える