Я разрабатываю веб-сервер и пытаюсь сделать маршрут загрузки файла. Но мне нужны только те, кто залогинился, может загрузить файл. Поэтому я добавляю промежуточное ПО, которое проверяет, доступны ли данные сеанса. Но данные сеанса всегда неопределены в этом маршруте.
Я попытался перезагрузить и восстановить сеанс, но он все еще не определен. И я изменил библиотеку с «multer» на «express-fileupload», но это не влияет. Возможно, потому что тип контента - multipart-form-data. Я не уверен.
Настройка промежуточного программного обеспечения сеанса.
const sessionMidleware = session({
secret: 'My secret key',
resave: false,
saveUninitialized: false,
})
app.use(sessionMidleware)
Промежуточное программное обеспечение, которое я вставил для отладки.
app.post(
'/sendinvoice',
(req, res, next) => {
console.log(req.session)
next()
},
uploadCustomerInvoice().fields([
{ name: 'file', maxCount: 1 },
{ name: 'course_id', maxCount: 1 },
]),
customerInvoice,
)
это функция, которую я использую для настройки сеанса на других маршрутах при входе и регистрации.
module.exports = (req, profile, courses) => {
req.session.profile = profile
req.session.courses = courses
req.session.isSuper = false
req.session.isAdmin = false
req.session.save()
}
Я ожидаю, что вывод req.session.profile будет объектом, который хранит пользовательские данные, но фактический вывод не определен.