2014-01-26 53 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的目的。我不確定是否還有其他常見/實用的選擇。

祝你好運。

相關問題