Sleepless tech
DIY, web, coffee Автоматизирую все и вся, ремонтирую что сломалось, трачу время на just-for-fun проекты. Пишу про хардвар и софтвар и не только. http://jem-space.ru Связь со мной: @jem_jem Донаты на припой и хостинги: https://bit.ly/2MKcRoJ
Show more- Subscribers
- Post coverage
- ER - engagement ratio
Data loading in progress...
Data loading in progress...
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}
Из всех блобов делаем один общий
type: `multipart/form-data; boundary=${boundary}`,
});
И отправляем A library to create readable "multipart/form-data" streams. Can be used to submit forms and file uploads to other web applications.. Latest version: 4.0.0, last published: 3 years ago. Start using form-data in your project by running `npm i form-data`. There are 9828 other projects in the npm registry using form-data.
Compare features and functionality between Autodesk Fusion for personal use and Autodesk Fusion, formerly known as Fusion 360, and learn which CAD, CAM, CAE and PCB software is the right solution for you.
padding-left: calc(100vw - 100%); // 15px
100vw – ширина всей страницы с учетом скролбара
100% – ширина страницы без учета скролбара
Вычитаем и получаем заветные 15px, когда скролл есть и 0px, когда его нет. А дальше добавляем куда вам нужно – будь это padding, margin, top, left или еще чего. Просто и гениально.
А пост пишу, потому что удалось сразу проверить в проде как оно работает. Весь дифф до и после компенсации видно на видео.
Не забывайте про мелочи (а тем более про CLS) и тогда сайтом будет действительно приятно пользоваться.
@dlentsresolutions
в package.json - не помогло. Пока рабочее решения - поправить руками импорты и накатывать патч на postinstall через patch-package.Fix broken node modules with no fuss. Latest version: 8.0.0, last published: 7 months ago. Start using patch-package in your project by running `npm i patch-package`. There are 863 other projects in the npm registry using patch-package.