0

以下に示すように、複数のダウンロード可能なリンクが指定されたノードでzipファイルを作成する方法から提供されたコードを使用して、ノードでzipファイルを作成しようとしています。

var fs = require('fs');
var archiver = require('archiver');
var output = fs.createWriteStream('./example.zip');
var archive = archiver('zip', {
    gzip: true,
    zlib: { level: 9 } // Sets the compression level.
});

archive.on('error', function(err) {
  throw err;
});

// pipe archive data to the output file
archive.pipe(output);

// append files
archive.file('/path/to/file0.txt', {name: 'file0-or-change-this-whatever.txt'});
archive.file('/path/to/README.md', {name: 'foobar.md'});

//
archive.finalize();

この提案を使用すると、ファイルを保存する場所を尋ねるプロンプトが表示されずにzipファイルがダウンロードされます-ファイルを保存する場所を尋ねるプロンプトが作成されるようにする方法はありますかファイル、最近ではどちらが一般的ですか?

これが絶対に不可能な場合、ファイルを常にダウンロード フォルダーに保存することは可能でしょうか (Mac、Windows、またはその他のオペレーティング システムに関係なく)。

4

1 に答える 1

0

ここにはいくつかのことがあります。「プロンプト」または「ポップアップ」に関しては、すぐに使用できる WinForms の行に沿って何も見つかりませんprompts。ユーザー入力として使用できるなどのコマンドラインのオプションがあります。

https://www.npmjs.com/package/prompts

pathより具体的path.join()には、mac/windows/linux の問題に対処するために使用する必要があります。

node.js で path.join を使用する必要がありますか?

サーバーを実行し、zip ファイルを提供するexpressルートを作成できます。res.download()

https://expressjs.com/en/api.html#res.download

于 2020-04-11T15:02:15.113 に答える