【发布时间】:2012-10-31 11:56:17
【问题描述】:
我想使用 expressjs 的 sendfile 从脚本文件的父目录发送文件。我试图做的是:
app.get('/', function(req, res){
res.sendfile('../../index.html');
});
我收到一个禁止错误,因为显然 sendfile 不信任路径遍历。到目前为止,我一直无法弄清楚如何更改通过 sendfile 发送的文件的目录。有什么提示吗?
编辑:发这个的时候有点累,其实挺简单的。我会把它留在这里,以防其他人偶然发现。 sendfile 有一个选项参数可以让你这样做,就像这样:
app.get( '/', function( req, res ){
res.sendfile('index.html', { root: "../../"});
});
【问题讨论】:
-
服务器上的静态资源也可以使用
express.static。理想情况下,sendFile 函数用于提供文件(客户端下载文件)而不是用于静态内容。
标签: javascript express sendfile