Попытка осуществить загрузку файла с помощью busboy, загрузка одного файла работает отлично. Нужна помощь в реализации загрузки из нескольких файлов.
Проверены различные параметры, такие как multer, но там, где нет четкого объяснения того, как обрабатывать несколько загрузок файлов.
Какие изменения кода необходимы для приведенного ниже кода, чтобы обеспечить
1) Параметры загрузки нескольких файлов добавляются в код формы
2) Блок кода busboy.on ('finish'function () {}) обеспечивает все
файлы правильно загружены в папку назначения
Ниже приведен пример кода для загрузки одного файла
var path = require('path');
var fs = require('fs');
var os = require('os');
var express = require('express');
var app = express();
var Busboy = require('busboy');
app.get('/', function(req,res){
res.send('<html<head></head><body>\
<form method="POST" enctype="multipart/form-data">\
<input type="Text" name="textfield"><br />\
<input type="file" name="filefield1"><br />\
<input type="submit">\
</form>\
</body></html>');
res.end();
});
app.post('/',function(req,res){
var busboy = new Busboy({headers:req.headers});
busboy.on('file',function(fieldname,file,filename,encoding,mimetype){
var saveTo = path.join('./tmp',filename);
console.log('Uploading:' + saveTo);
file.pipe(fs.createWriteStream(saveTo));
});
busboy.on('finish',function(){
console.log('Upload complete');
res.writeHead(200,{'Connection': 'close' });
res.end('Whole file upload process is finished now!');
});
return req.pipe(busboy);
});
var server = app.listen(3000,function() {
var host = server.address().address
var port = server.address().port
console.log('Example app listening at http://%s:%s', host, port)
});