Node处理文件上传的问题
发布于 11 年前 作者 suemi994 8194 次预览 最后一次回复是 11 年前 来自 问答
我使用的是busboy插件来处理文件上传,大致机理如下: 插件注册了一个file事件的处理程序,file事件是当文件上传完时会触发的事件。 可是当我只发出上传请求,而文件实际是undefined的时候,就一直不会触发事件,很长时间后处理才会结束。 如果连续5次发出这样的请求,Node进程就会卡住,需要几分钟才恢复过来。 后端怎样才能在这种情况下流畅运行? 不要说别发送undefined,万一别人就是这样攻击你的服务器呢? 所以我要区别出这种情况并做相应措施。 下面贴代码 req.pipe(req.busboy); console.log(req.busboy); req.busboy.on(‘file’,cont); cont是对应处理的函数
7 回复
呃。。你要不要试着把 pipe 放在事件注册之后? 我想不出为什么连续发出请求会卡住,node 是不怕慢客户端攻击的
在pipe之前,你需要检查request的HEADER,
基于官方的例子:
@alsotang 应该不是这样子的,如果我确实上传文件了,连续多少次基本不会卡
@eeandrew 我确实没有检查header,受教了。
@suemi994 请问您的问题解决了么?
@CocaCola183 已经解决了