問題タブ [node-archiver]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - zip ファイルを返す API - クライアントに送信された後にヘッダーを設定できませんか?
アーカイバ モジュールを使用して zip ファイルを作成する API があり、zip を応答として返し、クライアント側でダウンロードします。ただし、zip ファイルを戻そうとすると、エラーが発生しますError [ERR_HTTP_HEADERS_SENT]: Cannot set headers after they are sent to the client
。
この問題の原因は何ですか?
これは、zip を作成する API の外観です。
reports.get('/xxx/:ファイル名', async (req, res) => {
node.js - Express とアーカイバを使用して zip を作成する
次のように、node-archiver を使用してファイルを圧縮しました。しかし、zipファイルが破損しています。
ファイルシステムに直接保存するようにコードを修正しました。このコードを使用すると、ファイル システム上に作成された作業用の zip ファイルを取得できます。
Expressres
オブジェクト経由で送信中に zip ファイルが破損するのはなぜですか? 何が修正されますか?
編集: zip の代わりに
出力形式を使用するtar
と、問題なく動作します。
node.js - ノードのアーカイバーで作成されたzipファイルをダウンロードする場所を確認する方法
以下に示すように、複数のダウンロード可能なリンクが指定されたノードでzipファイルを作成する方法から提供されたコードを使用して、ノードでzipファイルを作成しようとしています。
この提案を使用すると、ファイルを保存する場所を尋ねるプロンプトが表示されずにzipファイルがダウンロードされます-ファイルを保存する場所を尋ねるプロンプトが作成されるようにする方法はありますかファイル、最近ではどちらが一般的ですか?
これが絶対に不可能な場合、ファイルを常にダウンロード フォルダーに保存することは可能でしょうか (Mac、Windows、またはその他のオペレーティング システムに関係なく)。