gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-03 23:28:17 25 4
gpt4 key购买 nike

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

我检查了该文件确实存在于所请求的 URL 中。当我用下面的破折号替换前导点时,它就起作用了。

这是我的应用程序代码:

const app = require('express')();
const serveStatic = require('serve-static');
const path = require('path');

app.use(serveStatic(path.join(__dirname, 'public/data')));

我收到以下错误:

enter image description here

该文件在目的地可用:

enter image description here

所有不带前导点的文件都可以工作。所有带有前导点的文件都会给出 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

关于node.js - 当文件以点开头时,Serve-static 给出 404,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41343515/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com