Пытается загрузить несколько файлов, используя busboy , файл может быть большого размера. Итак, я загружаю асинхронно, я использую file.on('data')
Когда я постоянно запрашиваю APIс некоторой задержкой (> 3 с) функция работает нормально, если я запрашиваю API постоянно (без задержки) / параллельно / одновременно, какое-то изображение пропало или повреждено.
app.post('/upload', function (req, res) {
var busboy = new Busboy({ headers: req.headers });
busboy.on('file', function (fieldname, file, filename, encoding, mimetype) {
var writeStream = [];
writeStream[fieldname] = fs.createWriteStream('./tmp/tmp' + Date.now());
console.log('File [' + fieldname + ']: filename: ' + filename + ', encoding: ' + encoding + ', mimetype: ' + mimetype);
file.on('data', function (data) {
console.log('File [' + fieldname + '] got ' + data.length + ' bytes');
writeStream[fieldname].write(data);
});
file.on('end', function () {
console.log('File [' + fieldname + '] Finished');
writeStream[fieldname].end();
});
});
busboy.on('finish', function () {
console.log('Upload complete');
res.writeHead(200, { 'Connection': 'close' });
res.end("That's all folks!");
});
return req.pipe(busboy);
});