forms - 使用nodejs和connect-form上传文件

标签 forms node.js file-upload express

我已关注express multipart example将文件上传到服务器,并且工作正常。但是如果我使用这样的路由中间件(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中间件中发出了。所以没有任何日志,也没有错误。

关于forms - 使用nodejs和connect-form上传文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7698163/

相关文章:

sql-server - 使用 Sequelize 进行 NOLOCK 查询

C#:HttpClient,将多个文件作为 MultipartFormDataContent 上传时的文件上传进度

javascript - jquery 在表单验证后显示/隐藏 div

node.js - TypeError : firestoreService. snapshot_ 不是函数

php - 在 MVC 网站中验证和处理表单提交的位置

mysql - 如果数据库连接关闭或数据库服务器关闭立即执行查询会发生什么

ruby-on-rails - rails : uploading files with paperclip

javascript - 通过 Angular 指令上传图像并在 DOM 上显示

mysql - 使用 mysql 数据库中的文件名填充表单

PHP 表单和 DB 查询输入验证