Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 12.03.2022, 17:42
Аспирант
Отправить личное сообщение для Raadsert Посмотреть профиль Найти все сообщения от Raadsert
 
Регистрация: 09.12.2021
Сообщений: 95

Получение данных из FormData на сервере
Здравствуйте.

Подскажите а каким образом можно получить данные из req.body при учёте что данные передавались через new FormData?

"body-parser" подключал, req.body пустой.

Вообще это хорошая идея передавать данные из форм через FormData?
Ответить с цитированием
  #2 (permalink)  
Старый 12.03.2022, 18:53
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,201

Raadsert, есть модули npm для предварительной обработки полученных данных от клиента в таком формате.
Например
https://www.npmjs.com/package/formidable
https://www.npmjs.com/package/multer

Я сейчас не помню что применяется у нас в разработке. Могу посмотреть только в понедельник, когда выйду на работу.

Сообщение от Raadsert
Вообще это хорошая идея передавать данные из форм через FormData?
Мы такое применяем там, где возможна передача файлов.
Ответить с цитированием
  #3 (permalink)  
Старый 12.03.2022, 21:29
Аспирант
Отправить личное сообщение для Raadsert Посмотреть профиль Найти все сообщения от Raadsert
 
Регистрация: 09.12.2021
Сообщений: 95

Сообщение от ksa Посмотреть сообщение
Raadsert, есть модули npm для предварительной обработки полученных данных от клиента в таком формате.
Например
https://www.npmjs.com/package/formidable
https://www.npmjs.com/package/multer

Я сейчас не помню что применяется у нас в разработке. Могу посмотреть только в понедельник, когда выйду на работу.


Мы такое применяем там, где возможна передача файлов.
А почему только там где нужна передача файлов? Из-за необходимости подгружать модули?
Ответить с цитированием
  #4 (permalink)  
Старый 12.03.2022, 23:08
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,201

Сообщение от Raadsert
А почему только там где нужна передача файлов?
Так файлы с клиента передаются через FormData.
Обычные данные можно передавать и без нее.
Ответить с цитированием
  #5 (permalink)  
Старый 14.03.2022, 11:33
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,201

Сообщение от ksa
Могу посмотреть только в понедельник, когда выйду на работу.
Один из вариантов работы с FormData

//
const multer = require("multer");
//
app.use(multer().none());
app.use(express.json());
app.use(express.urlencoded({ extended: false }));
app.use(cookieParser());
app.use(express.static(path.join(__dirname, "public")));
Ответить с цитированием
  #6 (permalink)  
Старый 14.03.2022, 11:46
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,201

В другом ПО используем такое
//
const fileUpload = require('express-fileupload');
//
app.use(
	fileUpload({
		createParentPath: true,
	})
);

Этот модуль не только читает присланные файлы, но и обрабатывает значения полей.
Ответить с цитированием
  #7 (permalink)  
Старый 14.03.2022, 16:30
Аспирант
Отправить личное сообщение для Raadsert Посмотреть профиль Найти все сообщения от Raadsert
 
Регистрация: 09.12.2021
Сообщений: 95

Сообщение от ksa Посмотреть сообщение
app.use(express.json());
app.use(express.urlencoded({ extended: false }));
А я читал что в новых версиях express, больше нет поддержки .urlencoded и нужно добавлять body-parser.
Ответить с цитированием
  #8 (permalink)  
Старый 14.03.2022, 23:17
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,201

Raadsert, я просто привел пример того, что было под рукой.
ПО сейчас меняется довольно быстро, т.ч. "начинать сначала" можно только по проектные задачки.
Т.н. продуктовые ПО довольно инертны в своей "раме", поскольку есть тактические задачи и именно их нужно решать в оперативном порядке.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Отправка и получение данных AJAX Le7o AJAX и COMET 18 14.06.2016 21:55
IP Camera, ее web-server и получение данных с нее apollox jQuery 0 30.08.2013 10:53
Двойная Фильтрация данных таблицы David0707 Общие вопросы Javascript 0 19.03.2012 13:00
Получение данных NeoMurderer AJAX и COMET 11 21.08.2011 14:46
Автоматическое получение данных из формы Beck jQuery 6 06.11.2009 18:01