Есть инпут с параметрами:
<label class="label">
<input id="upload-img" type="file" multiple="multiple" />Загрузить
</label>
Хочу передать изображения с помощью JQuery Ajax
Но перед этим получаю изображения и кладу их в FormData()
$('#upload-img').on('change',function(e){
e.preventDefault();
var imgArray = $(this).prop('files'),
filesCount = imgArray.length;
if (filesCount <= 5) {
var sendData = new FormData(); // Создаем форму с данными
sendData.append('image', imgArray); // Добавляем в форму файл изображения
console.log(sendData);
console.log(imgArray);
console.log(filesCount);
console.log(sendData.get('image'));
}
});
Получаю ответы в консоли:
FileList [ File, File, File ]
3
[object FileList]
[object FileList] - просто строка
Гуру, поделитесь идеями, как корректно передать в Ajax массив изображений, чтобы он попал в PHP?
Вот в кратце мой код отправки:
$.ajax({
type: 'POST',
url: 'upload_image.php',
data: sendData,
cache: false,
contentType: false,
processData: false,
dataType: 'JSON',
success: function(data){
console.log(data);
}
});
На стороне PHP пытаюсь посчитать количество файлов в массиве
count($_FILES['IMGA'])
Но получаю 0 т.е. массив не передается (Тут я возможно перепутал понятия массив и объект)
Может быть нужно объект imgArray преобразовать во что-то другое?