我正在使用Busboy与Express和Passport-JWT从我的客户端上传文件,当客户端使用有效的JWT令牌进行授权时,一切正常,但是在客户端未授权的情况下,虽然错误代码401被发送到客户端,但当我在我的ubuntu服务器(TCPDump)中拦截相关端口的传入流量时,我看到一个负载正在从该端口进入。尽管用于上载该文件的所有侦听器都在/uploads路由内,并且不清楚上载的数据位于何处,但上载的数据正在发送
Router.post("/",
passport.authenticate('jwt',{session:false}),
(req,res)=>{
try{
const busboy = createBusboy(req);
busboy.on("uploadFinished",(uploadedFiles:any)=>{
res.json(JSON.parse(uploadedFiles))
})
busboy.on("error",(err:any)=>{
console.log(err)
})
req.pipe(busboy);
}catch(e){
res.json({e})
}
})
发布于 2020-10-03 17:39:12
对于那些可能遇到这个问题的人,我找到了根,在向客户端发送401错误响应后,连接仍然是打开的,其余的多部分/数据内容正在流向服务器,所以我可以拦截它。修复方法是向您的respond标头写入"connection:close“。
https://stackoverflow.com/questions/64182202
复制相似问题