Node.js 使用bodyparser nodejs文件上载的优缺点

Node.js 使用bodyparser nodejs文件上载的优缺点,node.js,restify,Node.js,Restify,那么,使用bodyParser上传文件的利弊是什么呢 我的意思是,使用bodyParser,我将文件放入/var/目录,然后在上传后将其移动到我的目录中,这使我能够轻松访问名称文件和其他信息,但如果没有bodyParser,一旦触发“完成”事件,我就可以对文件执行操作 有没有办法知道何时使用bodyParser,何时不使用文件?如果您使用的是express,您可以在bodyParser之前绑定中间件 大概是这样的: app.use( function( req, res, next ) {

那么,使用bodyParser上传文件的利弊是什么呢

我的意思是,使用bodyParser,我将文件放入/var/目录,然后在上传后将其移动到我的目录中,这使我能够轻松访问名称文件和其他信息,但如果没有bodyParser,一旦触发“完成”事件,我就可以对文件执行操作


有没有办法知道何时使用bodyParser,何时不使用文件?

如果您使用的是
express
,您可以在
bodyParser
之前绑定中间件

大概是这样的:

app.use( function( req, res, next ) {
    ... code here runs before bodyparser
    next();
    ... code here runs on the way back (only when there is no error)
});
app.use( express.bodyParser() );
app.use( function( req, res, next ) {
    ... code here runs after bodyparser, before route
    next();
    ... code here runs on the way back (only when there is no error)
});
在这种情况下,您可以同时使用这两种方法

致意
Robert

当您使用
bodyParser
时,您不能对文件执行哪些操作?数据上的事件不起作用,至少在restify中是这样的。。。我只是想弄清楚在POST中使用bodyParser和不使用bodyParser的利弊。注意:我正在做一个API,所以我选择了restify而不是express,这主要是用于web的,但我知道它可以用于API,只是选择了restify。看起来很好用。只是您不能同时使用
bodyParser
和同时读取请求正文的自定义中间件,它们是一个或另一个。如果自定义中间件读取消息正文,此设置将无法工作,因为
bodyParser()
希望调用时仍有消息正文需要读取。如果没有,你的应用程序将暂停()。不,你正在做的是,在“req”中放置一个事件。那是错误的。对于中间件,只需在代码中调用“next()”。这并没有错,这正是
bodyParser
的工作方式,以及在您不希望
bodyParser
解析请求体时读取请求体的方式。