1

EJS テンプレートを使用する NodeJS、Express 3 アプリがあります。投稿された HTML と CSS を含むいくつかのフォーム フィールドの「プレビュー」を有効にするルートがあります。それらをプラグインして、私のpreview.ejsテンプレートをこのようにレンダリングするだけです..

app.post('/preview', function(req, res){

    var htm = req.body.htm;
    var css = req.body.css;

    res.render('preview',{_layoutFile:'', htm:htm, css:css});
});

私が今やりたいのは、代わりにファイルのダウンロードを強制する同様のルートです..

app.post('/download', function(req, res){

    var htm = req.body.htm;
    var css = req.body.css;

    // res.download or res.sendfile here ??
});

res.sendfile()とがあるように見えますがres.download()、EJS 'プレビュー' ビュー テンプレートでこれらを使用するにはどうすればよいですか?

PS - 私も使用しています Mikeal のrequestは、この同じアプリです。fs (ファイルシステム) へのパイプを使用して、保存したファイルを強制的にダウンロードする方法はありますか?

4

1 に答える 1

2

参照: http://expressjs.com/api.html#res.attachment

res.attachment()Content-Disposition: attachment応答をダウンロードとして扱うようにブラウザーに指示するヘッダーを設定します。

app.post('/download', function(req, res){

    var htm = req.body.htm;
    var css = req.body.css;

    res.attachment();
    res.render('preview',{_layoutFile:'', htm:htm, css:css});
});
于 2013-10-16T12:36:34.940 に答える