2016-02-24 4 views
0

У меня есть файл, который я хочу, чтобы получить доступ к следующему URL-адресу:Почему express.js не маршрутизирует двоичный файл?

http://127.0.0.1:400/db/signal/test.xlsx 

И у меня есть следующий обработчик GET в моем Экспресс приложение:

app.get('/db/signal/', function (req, res) { 
    // handle route 
}); 

Когда я просматриваю к http://127.0.0.1:400/db/signal/, обработчик казнены. Но когда я просматриваю http://127.0.0.1:400/db/signal/test.xlsx, обработчик не может выполнить. Зачем?

Я использую скорых версии 4.

Спасибо за ваш ответ.

ответ

2

Экспресс использует path-to-regexp для соответствия путям. Если вы посмотрите на API, вы увидите, что строка '/db/signal/' будет соответствовать только точно, что путь; он не будет соответствовать ни одному из подпунктов. Чтобы соответствовать этому пути и любой подконтуром, просто добавьте звездочку, например:

app.get('/db/signal/*', (req, res) => { ... }); 

Вы можете увидеть больше примеров сопоставления моделей в Express routing guide.

+0

спасибо @McMath. Я изменил код, но когда я вхожу в url файла, загружаюсь (не запускает обратный вызов '{// do}'). – hahamed

+0

Думаю, нам нужно больше информации. Можете ли вы разместить обработчик, отправляющий загрузку? И можете ли вы показать, доходит ли он до или после обработчика, который вы показываете выше? Я просто думаю, что нам нужно больше контекста, если мы собираемся это решить. – McMath

Смежные вопросы