Size: a a a

React — русскоговорящее сообщество

2021 January 08

G

Gearonix in React — русскоговорящее сообщество
источник

G

Gearonix in React — русскоговорящее сообщество
вот эта картинка с доп данными
источник

a

allpeg in React — русскоговорящее сообщество
Gearonix
Можно ли как то передать в FormData дополнительные данные? $_FILES  в php распознает только если я просто передаю FormData, но как только я начинаю передавать массив с данными, он дропается
чтобы php понял что это массив надо добавлять файлы с именами image[]
источник

a

allpeg in React — русскоговорящее сообщество
let fd = new FormData();
fd.append('image[]', ...);
fd.append('image[]', ...);
fd.append('image[]', ...);
...
источник

ЕЛ

Евгений Леденёв... in React — русскоговорящее сообщество
Gearonix
вот эта картинка с доп данными
https://learn.javascript.ru/formdata
По идее вот так.
источник

a

allpeg in React — русскоговорящее сообщество
Gearonix
а-а-а-а, сори, ошибся.
ты передаешь массив из FormData - что в край неверно.
FormData можно передать в post только в единственном экземпляре!!!!11
источник

a

allpeg in React — русскоговорящее сообщество
т.е.
let fd = new FormData();
fd.append('image[]', ...);
fd.append('image[]', ...);
fd.append('image[]', ...);
...
axios.post( ..., fd)
источник

G

Gearonix in React — русскоговорящее сообщество
ага. ну по идее да. но что, если я хочу передать не файл, а какой то объект. мне нужно сделать append, верно? Но если так, то как $_FILES из php распознает, что это не файл, и как этот объект вытащить?
источник

G

Gearonix in React — русскоговорящее сообщество
то есть, у меня есть файл, и рядом, в FormData объект
источник

a

allpeg in React — русскоговорящее сообщество
Gearonix
то есть, у меня есть файл, и рядом, в FormData объект
э-э-э, нет, это так не работает.

во-первых FormData это всё или ничего.
во-вторых ты не можешь передать объект вообще никак.

дело в том что браузер (и библиотеки) умеют отправлять только три типа данных:
1) application/x-www-form-urlencoded - это строку в таком формате a=b&c=d - есс-но ключи и значения это только строки и они могут повторяться
2) multipart/form-data - позволяет отправлять как ключи-значения, так и файлы
3) произвольный, например application/json - только текст
источник

a

allpeg in React — русскоговорящее сообщество
FormData автоматически выберет между application/x-www-form-urlencoded или multipart/form-data - первый если нет файлов, второй если есть
источник

🦜

🦜 in React — русскоговорящее сообщество
callmeberkut
Всем привет. Есть такая шутка, которая не компайлится. В чём может быть дело?
Лол. Достаточно одного пути на src
источник

a

allpeg in React — русскоговорящее сообщество
axios если ему дать объект - отправит json (application/json в заголовке контент-тайп и текст в боди )
источник

G

Gearonix in React — русскоговорящее сообщество
ахах. прикольно. А есть другие способы передачи объекта?
источник

a

allpeg in React — русскоговорящее сообщество
Gearonix
ахах. прикольно. А есть другие способы передачи объекта?
кроме json нет
источник

G

Gearonix in React — русскоговорящее сообщество
а файл в json можно отправить?
источник

a

allpeg in React — русскоговорящее сообщество
Gearonix
а файл в json можно отправить?
нет

но я бы накостылял вот как если бы нужно было обязательно передать и файлы и объект:

в FormData добавил поле и туда бы передал json в виде строки. а на бэке соответственно, уже раскодировал эту ересь.
источник

🦜

🦜 in React — русскоговорящее сообщество
allpeg
axios если ему дать объект - отправит json (application/json в заголовке контент-тайп и текст в боди )
Заголовок можно поменять через опции
источник

G

Gearonix in React — русскоговорящее сообщество
в FormData типе  string json добавил?
источник

🦜

🦜 in React — русскоговорящее сообщество
Gearonix
а файл в json можно отправить?
Ты можешь поменять заголовок на форм дату
источник