Когда вы загружаете несколько файлов одновременно, вы должны установить атрибут входного имени в виде массива следующим образом:
<div class="carousel-item carousel-custom-item active input-wrapper" >
<input class="d-none" type="file" id="files-upload" name="files[]" multiple="multiple">
<label id="files-upload-label" for="files-upload"><i class="fas fa-plus plus fa-4x"></i></label>
</div>
Обратите внимание на name="files[]"
, тогда у вас будет в консоли полный FileList объект:
РЕДАКТИРОВАТЬ
Я прокомментировал строку $("#carouselExampleIndicators").carousel('next')
, поскольку вызывает исключение (отсутствует plugin).
Этот код, как вы его поделились, вставляет первое изображение в .carousel-inner div. Если вы хотите вставить все выбранные изображения ... тогда вам нужен forEach l oop внутри функции изменения ...
Просто нажмите F12 в Chrome, чтобы увидеть вывод консоли.
Live jsfiddle: https://jsfiddle.net/zsecp6Ld/
EDIT 2
Здесь у вас есть jsfiddle, как вы должны это сделать, если хотите чтобы вставить все выбранные изображения ...
window.onload = function () {
$("#files-upload").change(function() {
[].forEach.call(this.files, function(file, index){
var reader = new FileReader();
reader.onload = (function(theFile) {
return function(e) {
console.log(theFile);
// Render the image.
var div = document.createElement('div');
div.className = 'carousel-item w-100 h-100 carousel-custom-item';
div.innerHTML = '<img src="'+e.target.result+'" />';
$(".carousel-inner").append(div);
};
})(file);
reader.readAsDataURL(file);
});
});
}
Показать все изображения: https://jsfiddle.net/jktc1whb/