2014-01-26 47 views
1

说我有这个路由处理在我Express.js应用:我应该在通过.sendFile()响应之前检查文件是否存在?

app.get('/files/:name', function (req, res) { 
    res.sendfile('path/to/files/' + req.params.name + '.html'); 
}); 

此路径通过Ajax使用我的网站上。我想知道是否应该防止服务器上不存在具有所请求名称的文件的情况,在这种情况下,服务器将返回404响应。我可以处理这个问题,即在浏览器中检测404并相应地采取行动(例如向访问者显示一条消息)。但是,我不确定这是否是一种好方法。在这里使用404响应是否可行,或者我应该尝试尽可能避免404响应。 (例如,我可以用,如果被请求的文件名的文件存在于服务器上,并且只使用.sendFile()如果它。)

我担心执行手动检查只会放慢改革的步伐为.sendFile()已经有这个内置检查(即可以避免这种检查,而是在浏览器中检测404响应,这正是我现在正在做的工作,并且工作正常)。

回答

1

我会坚持要返回404,因为这是404的目的。我不确定是否还有其他常见/实用的选择。

祝你好运。

相关问题