Задать вопрос
heksen
@heksen

Как сделать multiple отправку файлов?

Привет! Для своей задачи мне требуется multiple отправка изображений на сервер.
Указываю в html:
<input type="file" id="file" title="добавить фото" multiple=""></input>


Отправляю на сервер:
var myFormData = new FormData();
myFormData.append('photos',  $('#file')[0].files[0]);
$.ajax
 ({
    	   url:  "upload.php",
     	   data: myFormData,
	   method: "POST",
	   processData: false,  // tell jQuery not to process the data
           contentType: false,
     	   success: function( data )
     	   {
		alert(data);
     	   }
 });


Проверяю на сервере:
print_r($_FILES);

В итоге только одно изображение в массиве, хотя выбирал несколько.
Как правильно загружать несколько файлов?

P.S. плагины не предлагать.
  • Вопрос задан
  • 196 просмотров
Подписаться 1 Оценить Комментировать
Решения вопроса 2
ZLOFENIX
@ZLOFENIX
Абсолютно поехавший
shpargalkablog.ru/2015/02/multiple-files-php.html
>Атрибут name нужен со скобками [], то есть данные помещаются в массив.
Ответ написан
@g_s_e
Вы указываете только нулевой элемент в массиве файлов:
myFormData.append('photos',  $('#file')[0].files[0]);

Нужно пройтись циклом по массиву и добавить каждый из элементов, что то в таком духе:
var myFormData = [];
$.map($('#file')[0].files, function(element){
myFormData.push(element);
})
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
alexey-m-ukolov
@alexey-m-ukolov Куратор тега JavaScript
$('#file')[0].files[0]
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
22 дек. 2024, в 20:40
10000 руб./за проект
22 дек. 2024, в 20:34
3000 руб./за проект
22 дек. 2024, в 20:12
10000 руб./за проект