formData не работает multiple values
Подскажите, никак не пойму почему не работает multiple values
const formData = new FormData();
this.files.forEach(file => {
formData.append('images[]', file, file.name);
});
console.log(formData.getAll('images'))
показывает пустой массив если убрать квадратные скобки
formData.append('images', file, file.name);
то работает, естественно один элемент загружается |
|
я вроде так и делаю
Цитата:
|
Просто уберите третий параметр.
|
Вложений: 1
бесполезно
|
Что ошибок не показывает? Будет работать, заменить forEach на for или for ... of. Да и какая надобность именно в apend, почему не просто отдать форму FormData() или нет ее?
|
Вложений: 1
В том то и дело, никаких ошибок, все чисто. Формы нету, просто инпут. Поменял на for
for(let file of this.files){
console.log(file)
formData.append('images[]',file);
}
console.log(formData.getAll('images'))
на входе есть, на выходе шиш |
На сервере РНР (если судить по ключу передаваемому, то да)?
|
Да, back - php front - vue
|
Тогда сохранить под любым именем и запустить:
<?
if($_FILES) exit(print_r($_FILES, 1))
?>
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="content-type" content="text/html" />
<script type="text/javascript">
function send(f) {
var xhr = new XMLHttpRequest(),
data = new FormData();
for(var i of f.files) data.append('images[]', i); //проблемы с поддержкой
xhr.open('POST', location);
xhr.onload = function() {
if (xhr.status == 200) {
alert(xhr.responseText)
}
}
xhr.send(data);
}
</script>
</head>
<body>
<input type="file" onchange="send(this)" multiple="" />
</body>
</html>
Возвращает сервер информацию о загруженном? Следовательно у вас есть нечто с чем нужно разбираться. |
| Часовой пояс GMT +3, время: 21:00. |