@atumbochka

Почему multer принимает пустой объект?

В react-приложении я отправляю файл с помощью библиотеки react-drag-drop-files:
import { FileUploader } from "react-drag-drop-files";
const handleChange = async (filedata) => {
        setFile(filedata);
        console.log(filedata);

        await fetch("http://localhost:3011/dragAndDrop", {
            method: "POST",
            body: JSON.stringify({filedata:filedata})
        })
    }

Параметры драг-энд-дропа выглядят следующим образом:
return (
        <FileUploader handleChange={handleChange} name="file" types={fileTypes} />
    )

На сервере я хочу загрузить файл в папку с помощью multer:
const upload = multer({dest: fileStoragePath});
app.post("/dragAndDrop", upload.single("file"), (req, res) => {
    console.log(req.file);
    console.log(req.files);
    console.log(req.body)
});

Файл в папку не загружается, а в req.body лежит пустой объект. Я подумал, что body-parser может помочь, но ничего не изменилось:
app.use(bp.urlencoded({ extended: false }));
app.use(bp.json());

Как можно это исправить?
  • Вопрос задан
  • 42 просмотра
Пригласить эксперта
Ответы на вопрос 1
yarkov
@yarkov Куратор тега JavaScript
Помог ответ? Отметь решением.
Потому что файл в json не отправляют. Хэдеры нужные используйте и FormData.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы