Ajax подгрузка файлов?
Реализуйте что-то типа стека (массива), куда вы будете подкладывать новые файлы.

Параллельно огранизуйте функцию, которая слушает какой-то кастомный ивент типа «file-upload-added».

В функции реализуйте механизм выбора файлов из стека и отправляйте файлы на загрузку по очереди в бекграунде.

Я имею ввиду что-то типа этого:

var files = [];

.bind("file-upload-added", function() {
    var file;
    
    if (files.length) {
        file = files.pop();
    } else {
        return;
    }    
    
    $.ajax({
        ...
        ...
        ...
        
        success: function() {
            .trigger('file-upload-added');
        }
    })
});

.bind("file-upload-selected", function(file) {
    files.push(file);
    
    .trigger('file-upload-added');
})


Дальше допилите под свои нужды
Например, так:


<iframe name="upload-iframe" style="display: none;"></iframe>

<form id="upload-form" action="/upload" target="upload-iframe" method="post" enctype="multipart/form-data">

<input type="file" name="file" id="file-input"/>

<script>

$('#file-input').change(function(){
$('#upload-form').submit();
});
</script>
