TGViewer
Sleepless tech | Евгений J Sleepless tech | Евгений J @five_a_m · 762 subscribers
Post #632 1.1K
Всем привет.

На днях столкнулся с задачей, что при отправке формы с типом multipart/form-data нужно было добавить отдельные заголовки для каждого файла из формы. Задача немного нестандартная и как средствами клиентского JS ее решить не сразу понятно.
В rtk-query и axios такой конфигурации не нашел, как и в клиентском FormData. В интернете гуглится мало инфы и часто встречается решение с использованием пакета form-data (но он для node).

Глядя в Network, видно, что браузер сам добавляет Content-Disposition и Content-Type. В спецификации же к http написано, что можно добавлять отдельные заголовки для полей.

В итоге выход один - генерить руками тело запроса и преобразовывать его в Blob.
Генерим заголовки как текст, добавляем 2 пустые сроки, преобразуем в blob и добавляем в массив. Затем преобразуем файл в blob и добавляем в массив. И так со всеми файлами. Не забываем разделить поля при помощь boundery типа ----WebKitFormBoundary{random_string}

Из всех блобов делаем один общий

new Blob(blobs, {
type: `multipart/form-data; boundary=${boundary}`,
});


И отправляем нахуй
Спасибо чатгпт за алгоритм (я бы охерел это руками писать).

Chrome кстати говорит, что это пустая FormData, но бекенд успешно сохраняет файлы из запроса.
  • 🔥 6
  • 🤯 1
  • 😎 1
More from @five_a_m
  1. Sep 22, 2026Поискал облачных провайдеров которые, так сказать под крылом Р К Н. Justhost и vdsina отва…
  2. Sep 22, 2026Когда понимаешь, что выборы прошли успешно 😊
  3. Sep 15, 2026Чисто мои мысли когда общаюсь с ИИ
  4. Aug 28, 2026Хакнул casio тут на днях. Теперь у меня есть таймер
  5. Jul 25, 2026Привет! Очередной день, очередные проблемы печати. То, без чего невозможно представить 3д…
  6. Jul 7, 2026Очень приятно, когда ресторан украшен для любителей пайки. Смотрите какой большой кусок ка…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →