Я пытаюсь отправить файл .csv, используя axios (formData), и всегда получаю пустой массив в контроллере.
Вот мой код и то, что я пытаюсь сделать.
HTML
<input id = "upload-csv-<?= $fraction->id ?>" name = "uploadcsv"
onChange = "return uploadCsv(<?= $fraction->id ?>)"
type = "file" required = "required"/ >
JS
function uploadCsv(fractionId) {
let groupId = $('#customer_id').val();
let selectedFile = $('#upload-csv-' + fractionId)[0] ? $('#upload-csv-' + fractionId)[0].files : undefined;
const data = new FormData();
data.append('group_id', groupId);
data.append('fraction_id', fractionId);
data.append('file', selectedFile);
return new Promise(function(resolve, reject) {
return axios.post('/refunds/uploadRefundCsv', data)
.then(function(response) {
....
В контроллере я делаю debug($_FILES), а массив пуст []
Я также пробовал с примерами, описанными в Документация
Единственный способ получить непустую переменную $_FILES -
let file = new Blob([selectedFile ], { type: "text/xml"});
но тогда я не могу прочитать свой файл (мой файл каким-то образом перезаписан, и я получаю только сообщение [object FileList])
group_id и Fraction_id присутствуют, но файл пуст, только если я использую новый Blob, но конвертирую мой файл во что-то другое -> [object FileList]
Вы пробовали console.info (данные) до return Promise...?
Я обнаружил проблему. selectedFile - это массив, и мне нужно получить первый элемент selectedFile [0]. Но тем не менее, спасибо за помощь



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Какое значение имеет $ _POST?