用nodejs和连接forms上传文件

我已经按照快速多部分示例上传文件到服务器,它工作正常。 但是,如果我使用这样的路由中间件(coffeescript):

loadUser = (req, res, next) -> if req.session.user_id? db.user.findById req.session.user_id, (err, user) -> if user? req.currentUser = user next() else next() else next() app.post '/file',loadUser, (req, res) -> req.form.complete (err, fields, files) -> if (err) console.error err else console.log '\nuploaded %s to %s', files.image.filename, files.image.path req.form.on 'progress', (bytesReceived, bytesExpected) -> percent = (bytesReceived / bytesExpected * 100) | 0; process.stdout.write 'Uploading: %' + percent + '\r' 

该文件不上传,没有任何日志,没有错误。 然后我像这样清除loadUser中的代码:

 loadUser = (req, res, next) -> next() 

它再次正常工作。 loadUser方法有什么问题吗?

我发现这个问题,因为当程序路由到'/ file'时,form.complete已经在loadUser中间件中发出。 所以没有日志,也没有错误。