【问题标题】:Should I check if file exists before responding via .sendFile()?我应该在通过 .sendFile() 响应之前检查文件是否存在吗?
【发布时间】:2014-02-16 23:47:31
【问题描述】:

假设我的 Express.js 应用中有这个路由处理程序:

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

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

我担心执行手动检查只会减慢速度,因为.sendFile() 已经内置了此检查(即可以避免此检查,而是在浏览器中检测到 404 响应,这就是我的所作所为现在正在做,效果很好)。

【问题讨论】:

    标签: ajax node.js http express


    【解决方案1】:

    我会坚持返回 404,因为这是 404 的目的。我不确定是否真的有任何其他常见/实用的替代方案。

    祝你好运。

    【讨论】:

      猜你喜欢
      • 2016-12-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多