当文件以点开头时,Serve-static给出404

时间:2016-12-27 10:37:09

标签: node.js express

我有一年的生产应用程序。它具有导入功能,后来提供压缩数据文件。今天我用不同的数据测试了应用程序,文件名以点开头。应用程序已成功接受,压缩并保存文件,但是当前端请求相同的文件时,应用程序的后端会给出404。

我检查了文件实际存在于请求的网址中。当我用较低的短划线替换前导点时,它可以工作。

这是我的应用代码:

$articles = Article::whereRaw('MONTH(created_at) ='.$date_number)
                ->where('approved',1)
                ->get();

我收到以下错误:

enter image description here

该文件位于目的地:

enter image description here

没有前导点的所有文件都有效。带有前导点的所有文件都给出了404。

请帮我解决问题。

1 个答案:

答案 0 :(得分:2)

您可以使用serve-static设置为dotfiles的{​​{1}}选项提供隐藏文件(以点开头的文件)(默认情况下设置为{{1} }})。

'allow'

请参阅:https://ewiggin.gitbooks.io/expressjs-middleware/content/serve-static.html

'ignore'中间件相同:

app.use(serveStatic(path.join(__dirname, 'public/data'), {
  dotfiles: 'allow'
}));

请参阅:https://expressjs.com/en/api.html