Project

Общее

Профиль

Отправка formdata

const formData = new FormData()
  1. Формадата состоит из пар key: value
  2. value может быть трёх типов - Blob (binary), File и строка
  3. Если добавить value который не относится к этим трём типам - value в ЛЮБОМ случае будет сконвертирован в строку Например:
formData.append('myObjectKey', {test: '123'})
formData.get('myObjectKey') => '[object Object]' СТРОКА, бессмысленная строка

Массивы нужно добавлять поэлементно, то есть:

const array = [1, 2, 3]
array.forEach(item => formData.append(item)

Объекты нужно предварительно превращать в строку с помощью JSON.stringify(myObject), и потом эту строку добавлять в формдату

Файлы добавляются по-разному, зависит от бекенда, я знаю два варианта:

  1. Бинарник
const file = event.target.files[0]
const binary = new Blob([file], { optionalParams })
formData.append('myBinaryFile', binary)
  1. Просто файл
const file = event.target.files[0]
formData.append('myFile', file)