Пошаговая загрузка нескольких файлов и перечисление уже загруженных файлов (NodeJS + Multer) - PullRequest
0 голосов
/ 01 декабря 2018

Я использую NodeJS + Multer для загрузки нескольких файлов за один шаг.Выбранные файлы (с использованием файлового ввода) отображаются в списке.Это отлично работает.Теперь я хотел бы дать ответ после каждого файла, который был успешно загружен (например, путем добавления символа галочки).

Вот текущий запрос на публикацию + объект хранения Multer + функция загрузки (ничего особенного):

var storage = multer.diskStorage({
  destination: function (req, file, callback) {
    callback(null, '/uploads');
  },
  filename: function (req, file, callback) {
    callback(null, file.originalname);
  }
});

var upload = multer({ storage : storage }).array('userfiles',50);

app.post('/api/upload',function(req,res){
    upload(req,res,function(err) {
        console.log(req.files);
        if(err) {
            return res.end("Error Uploading!");
        }
        res.end("Upload Successful!");
    });
});

Насколько я понимаю, функция загрузки обрабатывает весь объект хранения со всеми файлами внутри multer.Я не вижу никакой возможности разместить свой успех-ответ вообще.Моя идея состоит в том, чтобы разделить запрос и выполнить итерацию по каждому файлу в запросе, загрузить его как один файл и сделать успешный ответ.См. Мой псевдокод:

app.post('/api/upload',function(req,res){

for (var SingleFile in req)
    upload(SingleFile,res,next) 
    res.write("uploaded "+SingleFile)
});

Как бы я это сделал?

Другой подход: Использование клиентской JQuery для получения входных файлов и вызова запросов на запись для каждого файла.

Чего я хотел бы избежать, так это наблюдать за папкой назначения для полностью записанных файлов.

Спасибо за любую помощь, подсказку или комментарий.

...