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

Javascript 如何在express.js中提供默认图像文件?,javascript,node.js,express,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”,

在我的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路由以满足这一需求

您只需在堆栈底部放置一些中间件,然后使用res.sendfile。不要忘了使用res.statusCode404,这样爬虫程序就不会认为他们在攻击真正的资源。

在路由的底部,创建一个默认路由:

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

我之所以接受这个解决方案,是因为它提供了一个具体的例子,这正是我所需要的。不过,我确实喜欢另一个回复中的404建议。