0

以下是我使用时工作的代码,form.parse但它不会进入form.on('file', ...让我知道我在这里做错了什么,因为我需要在保存之前更改文件的名称。

// CREATE
exports.upload = function (req, res) {

    var form = new formidable.IncomingForm();

    form.uploadDir = __dirname + '/upload';
    console.log("--FORM--");

    /*
    form.parse(req, function(err, fields, files) {
      console.log('received upload:\n\n');
      console.log(util.inspect({fields: fields, files: files}));
    });
    */
    form.on('file', function(field, file) {
        console.log("I am in file.");
        //rename the incoming file to the file's name
        //fs.rename(file.path, form.uploadDir + "/" + file.name);
    })


};

仅供参考 - 如果我正在使用form.parse图像被保存,就像0382cb1bd421ee62b27dc431ab03270c我想重命名它时尝试通过form.on('file', ...).

4

1 回答 1

0

我使用fileBegin更改名称解决了它,但您需要包含 form.parse(req);以保存图像。

工作代码 -

form.on('fileBegin', function(name, file) {
    file.path = form.uploadDir + "/" + file.name;
})

form.parse(req);
于 2014-08-11T11:27:17.337 回答