castomi
@castomi
Серверный администратор - tickets.settin.ru

Как сделать форму для отправку нескольких фотографий post-запросом в vk?

Сделал форму для отправки фотографии, теперь решил сделать возможность выбора нескольких фото, но api контакта на сколько я понимаю не поддерживает такого. Я решил обойти ограничение таким образом, распарсить форму и отправлять поштучно, вот только я не знаю как распарсить форму.

Вот форма, сервер заполняется через сокеты NodeJS
<form action="" method="POST" enctype="multipart/form-data" id="post_form" name="imgForUrl">
 <input type="text" name='name'>
 <input type="file" name='photo' multiple>
 <input type="button" onclick="img()">
</form>


Вот функция которая выполняет отправку
function img() {

 // Собрать данные из формы
 var formData = new FormData(document.forms.imgForUrl);

 // отослать
 var xhr = new XMLHttpRequest();
 xhr.open("POST", action);

 // Обработать ответ сервара
 xhr.onreadystatechange = function() {
  if (this.readyState != 4){
   return;
  } else {
   console.log(this.responseText);
   socket.emit('responseText', this.responseText);
  }
 };
 console.log(formData);
 xhr.send(formData);
}


Собственно надо вот это formData распарсить и отправить поштучно. Направьте на путь истинный), а может у кого-то есть более элегантное решение?

Поставлю вопрос по другому, как мне получить массив с фотками из формы, чтобы потом отправить их поштучно?
  • Вопрос задан
  • 416 просмотров
Решения вопроса 1
AlexMaxTM
@AlexMaxTM
Не нужно вообще ничего парсить и даже не нужно формировать formData для формы. Нужно получить массив из поля name='photo'. Затем организуете цикл по этому массиву, внутри тела которого создаете новую форму с теми же полями, только в input name='photo' добавляете текущий элемент массива. Вот потом уже эту новую форму отправляете в каждой итерации.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы