Я заметил, что если я отправлю форму с enctype="multipart/form-data"
, которая имеет скрытый входной сигнал _method, установленный в PUT
, функция methodOverride не будет срабатывать, в результате чего для этого маршрута будет 404 POST
,Nodejs Express - methodOverride не работает для multipart/form-data
установочном:
app.use(express.json());
app.use(express.urlencode());
...
app.use(express.methodOverride());
app.use(express.router());
app.put('/update', express.multipart(), function(req, res) { ... });
если я изменить поставил на пост в маршрутизаторе все работает просто отлично. Также поместите и удалите работу на других маршрутах, которые не отправлены к enctype="multipart/form-data"
.
Я попытался изменить порядок промежуточного программного обеспечения, но не повезло с этим.
Любая помощь была бы высоко оценена, так как поиск по этой проблеме ни к чему не привел!
Заранее благодарен!
@Skatebail Это должно быть хорошо, чтобы использовать его несколько раз. Если '_method' доступен для обоих, они должны просто установить одно и то же значение в' req.method'. Если каким-то образом вашему приложению удается установить 2 значения для '_method'. –
Спасибо большое, и за вашу помощь, и за время, это работает! – michaeltintiuc