Не могу добавить файлы в данные формы - PullRequest
0 голосов
/ 17 апреля 2019

Я хочу загрузить файлы с помощью formData и axios в бэкэнд Symfony 3, моя проблема в том, что файлы не добавляются, но другой ввод текста успешно отправляется в бэкэнд

let company = document.getElementById('company_photo');
let companyLogo = company.files[0];

let form =document.getElementById('my-form-id');
let data = new FormData(form);
data.append('profile', companyLogo, companyLogo.name)


const config = {
     headers: {
           'content-type': 'multipart/form-data'
     }
 }
  axios.post(url, data, config)..................

Проблема с этим, когда япопытался вернуть файлы из Symfony 3

return new JsonResponse(['files' => $request->files->all()])

Он просто возвращает пустой объект

profile:{}

Все остальные текстовые типы ввода успешно отправляются на сервер

Глядя на вкладку сети, полезная нагрузка выглядит как

clients_per_month: 4
message: rurutrurturrurtuturturt
profile: (binary)

профиль становится двоичным

Форма выглядит следующим образом

<form id='some-id' method="POST" enctype="multipart/form-data">
    <input type="text" name="blah" />
    <input type="file" name="filenameexample" id="exampleid">
    ........................

Глядя на консоль дляdebug,

for(var key of data.entries()) {
   console.log(key[0] + ','+key[1]);
}

Что привело к

profile, [object File]

Есть идеи, как это исправить?

обновление, файл выглядит так

     console.log(company.files[0])

Получено в

     File {name: "Capture.PNG", lastModified: 1546921233553, 
         lastModifiedDate: Tue Jan 08 2019 12:20:33 GMT+0800 (Pluto 
         Standard Time), webkitRelativePath: "", size: 735825, …}
         lastModified: 1546921233553
         lastModifiedDate: Tue Jan 08 2019 12:20:33 GMT+0800 (Venus 
         Standard Time) {}
         name: "Capture.PNG"
         size: 735825
         type: "image/png"
         webkitRelativePath: ""
         __proto__: File

1 Ответ

0 голосов
/ 17 апреля 2019
'content-type': 'multipart/form-data'

В вашем типе MIME отсутствует обязательный граничный параметр.

Удалите эту строку.Разрешить XMLHttpRequest выводить тип MIME из объекта FormData.

...