При одновременной загрузке нескольких изображений происходит повреждение - PullRequest
0 голосов
/ 05 февраля 2019

Пытается загрузить несколько файлов, используя 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);
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...