высказать грозные методы где они?

у меня есть важный вопрос с этим кодом

form
    .on('error', function(err) {
        throw err;
    })

    .on('field', function(field, value) {
        //receive form fields here
    })

    /* this is where the renaming happens */
    .on ('fileBegin', function(name, file){
            //rename the incoming file to the file's name
            file.path = form.uploadDir + "/" + file.name;
    })

    .on('file', function(field, file) {
        //On file received
    })

    .on('progress', function(bytesReceived, bytesExpected) {
        //self.emit('progess', bytesReceived, bytesExpected)

        var percent = (bytesReceived / bytesExpected * 100) | 0;
        process.stdout.write('Uploading: %' + percent + '\r');
    })

это методы грозного модуля... я обнаружил, что в express.bodyParser используется грозный модуль... но я хочу вызвать метод on.('fileBegin'... с экспрессом, и я не могу

где метод... где форма объекта

как вы видите, форма объекта имеет поля и файлы

в express.bodyParser файлы находятся в req.files, а поля - в req.body, но когда я пытаюсь вызвать req.on('fileBegin'... выдает ошибку

кто-нибудь пробовал это???


person andrescabana86    schedule 26.07.2012    source источник


Ответы (2)


Оказывается, объект formidable является просто локальной переменной внутри connect.multipart и никогда не привязывается к req. Похоже, вам придется создавать собственное промежуточное ПО, используя connect.multipart в качестве руководства (на самом деле оно довольно короткое и простое).

person ebohlman    schedule 26.07.2012
comment
У вас есть исходный код для connect.multipart, так как соединение поставляется с экспресс-доставкой. Как я уже сказал, он довольно короткий и легко читается. - person ebohlman; 27.07.2012

Параметр defer был добавлен к multipart:

app.use(connect.multipart({ defer: true }));

Потом…

app.post('/foo', function (request, response, next) {
  // setting defer exposes multipart's internal IncomingForm object
  var form = request.form; 
});
person wprl    schedule 21.02.2013