Search code examples
javascriptnode.jsformidable

Nodejs&Formidable, Uploading images


if (sess.username) {
    var form = new formidable.IncomingForm();
    form.multiples = true;
    form.uploadDir = __dirname + "/data";
    form.parse(req, function (err, fields, files) {
        if (fields.title.length < 120 || fields.content.length < 1000000) {
            var articleData = new articleModel({
                title: fields.title,
                content: fields.content,
                created_at: Date.now()
            });

            articleData.save(function (err) {
                console.log('saved');
            });

            form.on('error', function (err) {
                console.log('An error has occured: \n' + err);
            });
        }
        else {
            res.render('failed', {
                message: 'Too much characters.'

            });
        }
    });
    res.redirect('/admin');
}

I was trying with this code but i got error like this:

Error: ENOENT: no such file or directory, open 'C:\Users\Użytkownik\Documents\GitHub\CFBlog\controllers\admin\data\upload_c2aff6d1c5930dd655caa436890aaf03' at Error (native)


Solution

  • Seems like you don't have data/ folder in your __dirname. Formidable just can't create file in folder that doesn't exist.