app.get('/images/:filename', (req, res, next) => {
console.log(req.params.filename);
const newUrl = `/static/images/${req.params.filename}`;
req.url = newUrl;
next();
});
Приведенный выше код работает нормально, если filename
не содержит специального символа .
Например, localhost/images/myImage.jpg
выведет myImage.jpg
.
Если filename
содержит .
, например localhost/images/my.Image.jpg
, консоль ничего не распечатывает.Есть ли способ это исправить?
Редактировать: Добавлен код ниже.Я не уверен, что он делает.
app.get(
/^.+\.(jpg|jpeg|gif|png|bmp|ico)$/,
(req, res) => {
res.status(404).end();
}
);
Редактировать 2: Мой плохой!Как чей-то комментарий, я обнаружил, что проблема была на самом деле от работника службы.По-видимому, это было связано с кэшированием.
Может ли кто-нибудь объяснить, что ^.+\.$
делает во втором фрагменте кода выше?Вместо этого я отмечу ответ для этого.