загрузка нескольких файлов не работает с грозным в node js - PullRequest
0 голосов
/ 13 января 2020
app.post('/upload', function (req, res) {
    var form = new formidable.IncomingForm();
    form.parse(req, function (err, fields, files) {
      try{
        if (files.file.name != '') {
          file_newname = dt.MD5(files.file.name + Date() + Math.random()) + '.jpg' + ;
          var file_newpath = './tmp/' + file_newname;
          fs.readFile(file_oldpath, function (err, data) {

            // Write the file
            fs.writeFile(file_newpath, data, function (err) {
              console.log('File written!');
              res.end(JSON.stringify({             
                message: 'file uploaded successfully'
              }));
            });            

          });
        }
      }catch (e) {

      }
    });
  });

Загрузка одного изображения работает отлично. Я попробовал следующий код

var form = new formidable.IncomingForm();



files = [],
fields = [];
form.on('field', function(field, value) {
    fields.push([field, value]);
})
form.on('file', function(field, file) {
    console.log(file.name);
    files.push([field, file]);
})
form.on('end', function() {
    console.log('done');
    //res.redirect('/forms');
});
form.parse(req);

Но загружается только одно изображение. Я использую реагировать в интерфейсе. Узел и express в бэкэнде.

Я тоже попробовал multer. Но это не работает

app.post('/getrast', upload.array('files'), function (req, res) {

     res.json({data: req.files});
     });

1 Ответ

0 голосов
/ 13 января 2020

Используйте множественный флаг с формой ввода со значением true.

var form = new formidable.IncomingForm();

**form.multiles = true** //use this while dealing with multiple files

files = [],
fields = [];
form.on('field', function(field, value) {
    fields.push([field, value]);
})
form.on('file', function(field, file) {

    fs.rename('add your logic here for renaming files'); // rename it here

    console.log(file.name);
    files.push([field, file]);
})
form.on('end', function() {
    console.log('done');
    //res.redirect('/forms');
});
form.parse(req);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...