如何在express.js中提供默认图像文件?

时间:2014-08-15 22:27:24

标签: javascript node.js express

在我的express.js项目中,我正在提供项目的dist文件夹,如下所示:

server.use(express.static('dist'))

在我的dist文件夹中,我有一个img / fileicons文件夹,其中包含代表各种文件类型的PNG文件,例如: 'txt.png','html.png','pdf.png'等。如果给定文件类型的图像不存在,我想设置一个默认路由来提供'blank.png '使用通用文件图像。例如,如果命中了URL'/ img / fileicons / [不存在] .png',则返回'blank.png'。但是,如果我导航到另一条不存在的路径,例如'/ html / [不存在] .html',那么我不希望提供'blank.png'文件。

如何设置express.js路由以满足此需求?

2 个答案:

答案 0 :(得分:2)

您需要做的就是在堆栈底部放置一些中间件并使用res.sendfile()。不要忘记使用res.statusCode(404),以便抓取工具不会认为他们正在使用真正的资源。

答案 1 :(得分:1)

在路线的底部,设为默认路线:

app.get('/dist/img/fileicons/*', function(req, res) {
  res.sendfile('path/to/blank.png')
});