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, время: 13:09. |