Node.js ejs模板中的res.sendFile
我想在express中的.ejs模板中使用res.sendFileNode.js ejs模板中的res.sendFile,node.js,express,ejs,Node.js,Express,Ejs,我想在express中的.ejs模板中使用res.sendFile <% //current media var cm = page.data.media; cm = cm || {}; var file = cm.file || {}; var ext = cm.thumbnail_url.substr(cm.thumbnail_url.lastIndexOf(".")); var options = { root
<%
//current media
var cm = page.data.media;
cm = cm || {};
var file = cm.file || {};
var ext = cm.thumbnail_url.substr(cm.thumbnail_url.lastIndexOf("."));
var options = {
root: __root,
dotfiles: 'deny',
headers: {
'x-timestamp': Date.now(),
'x-sent': true
}
};
res.sendFile("uploads/thmb/media/" + cm._id.toString() + ext, options);
res.end();
%>
这似乎是因为res.render已经发送了一些关于响应对象的信息。我是否可以使用ejs模板来发送文件?能否解释一下为什么要从ejs模板而不是直接从路由处理程序运行代码?似乎您正在尝试在Express之上安装一个类似PHP的范例。您为什么要这样做?我甚至不知道这是怎么回事。你是在发送模板还是文件?下定决心,这有点复杂。假设所有东西在应用程序中都是通用的,我只能更改.ejs模板。在调用url/myapp/media/1234556时,我们希望传递一个图像,但ejs模板media.ejs会自动呈现并填充信息。
[Error: Can't set headers after they are sent.]
Error: Can't set headers after they are sent.