1

HTMLにダウンロードボタンがあり、クリックすると、ダウンロードする必要があるファイルのファイル名を送信するajax経由でPOSTリクエストが行われます。

サーバー側では、次のようなことを行います。

function download (req, res) {

    ...
    // path is an absolute path to a file that is not in the public
    // directory. I want to download that file
    res.writeHead(200, {
        "Content-disposition": "attachment;filename=\"" + path + "\"",
        "Content-Type": "text/csv"
    });

    var filestream = fs.createReadStream(path);
    filestream.pipe(res);
};

応答でファイルの内容を確認できますが、ファイルの保存ダイアログが表示されません。

問題はどれですか?どうすればこれを修正できますか?

組み込みノード モジュールのみを使用するため、エクスプレスは使用しません。

4

1 に答える 1

1

ブラウザーに [ファイルの保存] ダイアログを表示させることはできません。

あなたの例では、私の Mac では Chrome と Safari の両方がファイルを自動的にダウンロードします (Chrome では、デフォルトでオフになっているダイアログを表示するかどうかの設定です。Safari に同様の設定があるかどうかはわかりません)。 )、一方、FireFox ではダイアログが表示されます。

于 2013-10-16T13:32:56.510 に答える