【发布时间】:2013-10-16 12:22:45
【问题描述】:
我有一个使用 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“预览”视图模板一起使用?
附: - 我也在使用 Mikeal 的 request 是同一个应用程序。我想知道是否有一种方法可以使用管道到 fs(文件系统),然后强制下载保存的文件?
【问题讨论】:
-
您应该能够将来自
request的响应直接通过管道传输到 Express 响应对象:res.attachment(); request(...).pipe(res);