JavaScript >> Javascript チュートリアル >  >> Node.js

node.js でパスワードで保護された ZIP ファイルを生成する

Linux で作業している場合は、zip (ほとんどの Linux ディストリビューションのコマンド ライン ユーティリティ) を使用して実行できます。アプリに以下を含めるだけです。

spawn = require('child_process').spawn;
zip = spawn('zip',['-P', 'password' , 'archive.zip', 'complete path to archive file']);
zip .on('exit', function(code) {
...// Do something with zipfile archive.zip
...// which will be in same location as file/folder given
});

フォルダーを圧縮したい場合は、ファイル パスの代わりにフォルダー パスの前に別の引数「-r」を追加します。

これはメインプロセスとは別のスレッドを生成するため、ブロックされないことに注意してください。 child_process の詳細については、 こちらをご覧ください http://nodejs.org/api/child_process.html


私のようにここにたどり着いた人のために、ノードでいくつかのパッケージを試しましたが、最終的にこれを使用しました:https://www.npmjs.com/package/minizip-asm.js

パスワード (AES を使用) をサポートし、非常に使いやすいです。パスワードをサポートしていることがわかったのはこれだけだったので、ダウンロード数がそれほど多くないことに驚いています.


私は同じ問題を抱えていて、それを行うためのパッケージを見つけることができなかったので、アーカイバ パッケージへのプラグインとして、自分で作成しました。純粋な JS、外部の zip ソフトウェアは必要ありません。

ここにあります - https://www.npmjs.com/package/archiver-zip-encrypted.従来の Zip 2.0 暗号化と WinZip の AES-256 暗号化の両方をサポートします。


  1. javascript:異なるカラー サークルを異なるサイズで表示する

  2. エクスプレスサーバーでリクエストパラメータを入力する方法

  3. Vue 2 現在の日付、時刻、タイムスタンプを取得するチュートリアル