我在服务器端有以下功能:
function sendUploadToGCS (req, res, next) {
if (!req.file) {
return next()
}
console.log(req.session.userID)
const gcsname = req.file.originalname
const file = bucket.file(gcsname)
etc..
}
路线:
app.post('/upload-image', multer.single('image'), images.sendUploadToGCS, (req, res, next) => {
let data = req.body
if (req.file && req.file.cloudStoragePublicUrl) {
data.imageUrl = req.file.cloudStoragePublicUrl
}
getModel().create(data, (err, savedData) => {
if (err) {
next(err)
return
}
res.redirect(`${req.baseUrl}/${savedData.id}`);
})
}
)
我正在使用快速会话进行Cookie,我正在尝试将userID添加到正在上传的文件的名称中。但是当我尝试记录它时,它表示未定义。这很奇怪,因为对于我拥有的所有其他路线,req.session.userID确实存在。
即使我只记录req.session,也会记录它。只有当我尝试记录req.session.userID或任何其他属性时才说它是未定义的,并且仅适用于此函数(sendUploadToGCS)。
为什么会发生这种情况?