当一个文件以点开始时,Serve-static给出了404
我有一个应用程序在一年的生产。 它具有导入和稍后提供压缩数据文件的function。 今天我用不同的数据testing了应用程序,其中文件名以点开头。 应用程序成功接受,压缩和保存文件,但是当前端请求相同的文件时,应用程序的后端给予404。
我检查文件实际存在于请求的url。 当我用较小的短划线replace主要的点时,它起作用。
这是我的应用程序代码:
const app = require('express')(); const serveStatic = require('serve-static'); const path = require('path'); app.use(serveStatic(path.join(__dirname, 'public/data')));
我收到以下错误:
该文件在目的地可用:
所有文件没有领先的点工作。 所有带有前导点的文件都会给404。
请帮我解决这个问题。
您可以使用serve-static
服务来隐藏文件(以点开头的文件), dotfiles
选项设置为'allow'
(默认设置为'ignore'
)。
app.use(serveStatic(path.join(__dirname, 'public/data'), { dotfiles: 'allow' }));
请参阅: https : //ewiggin.gitbooks.io/expressjs-middleware/content/serve-static.html
这与express.static
中间件一样:
app.use(express.static(path.join(__dirname, 'public/data'), { dotfiles: 'allow' }));
请参阅: https : //expressjs.com/en/api.html