强大的 - 未触发fileBegin事件

时间:2014-03-12 14:52:09

标签: javascript node.js formidable

我知道有人问过类似的问题:

我使用强大的快递。我发现在'file'事件被触发时没有触发'fileBegin'事件。

以下是明确的定义:

var app = express();

// all environments
process.env.port = 3001;
app.set('port', process.env.PORT || 3000);
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'jade');
app.use(express.favicon());
app.use(express.logger('dev'));
app.use(express.json());
app.use(express.urlencoded());
app.use(express.methodOverride());

app.use(app.router);
app.use(express.static(path.join(__dirname, 'public')));   

定义中是否缺少某些内容?提前致谢

更新:上传处理程序:

function parseFormData(req,res,uploadDir){
    var form = new formidable.IncomingForm();
    var files = [];

    try {
        form.uploadDir = uploadDir;

        form.parse(req, function() {

        });
        var logMsg;
        form
            .on('file',function(name, file) {
                console.log('file found');
                logMsg = util.format('Filename :%s\nFilesize: %s\nFilepath %s',file.name,file.size,file.path);
                console.log(logMsg);
                files.push(file);
            })
            .on('fileBegin',function(name, file) {
                console.log('fileBegin file.name: '+file.name);
                var targetFolder = path.dirname(file.path);
                file.path = path.join(targetFolder,file.name);
                console.log('new path: '+file.path);
            })
            .on('end', function() {
                console.log(util.inspect(files));
                res.writeHead(200);
                res.end('done');
                console.log('end');
            });
    }
    catch(error){

        res.end('done');
    }
} 

0 个答案:

没有答案