загрузить файл с помощью nodejs и connect-формы - PullRequest
1 голос
/ 08 октября 2011

Я следовал примеру express multipart , чтобы загрузить файл на сервер, и он работает нормально.Но если я использую промежуточное ПО для маршрутов, как это (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?

1 Ответ

1 голос
/ 15 ноября 2011

Я обнаружил проблему, потому что когда программа направляла к / file, form.complete было отправлено в промежуточное ПО loadUser. Так что нет ничего логов и нет ошибок.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...