@sirinotapple

Как получить multipart/form-data?

Здравствуйте, когда я отправляю форму на кнопочку Submit form все работает и в консоль сервера логируется загружённый файл, но почему возникает ошибка Multipart: Boundary not found когда я нажимаю на Submit using fetch
const express = require("express");
var bodyParser = require("body-parser");
const app = express();
const multer = require("multer");

const fileStorageEngine = multer.diskStorage({
  destination: (req, file, cb) => {
    cb(null, "./images");
  },
  filename: (req, file, cb) => {
    cb(null, Date.now() + "--" + file.originalname);
  },
});

const upload = multer({ storage: fileStorageEngine });

app.use(bodyParser.urlencoded({ extended: true }));
app.use(bodyParser.json());
app.use(bodyParser.text());

app.get("/", (req, res) => {
  res.send(`
  <form action="/push" method="POST" enctype="multipart/form-data">
	<input type="file" name="image" />
	<button type="submit">Submit form</button>
	<button onclick="send(event)" type="submit">Submit using fetch</button>
</form>

<script>
	function send(event) {
		event.preventDefault();
		let formData = new FormData(event.currentTarget.parentElement);
		fetch("/push", {
			body: formData,
			headers: {
			"Content-Type": "multipart/form-data",
			},
			method: "POST",
		}).then((data) => console.log(data));
	}
</script>
`);
});

app.post("/push", upload.single("image"), (req, res) => {
  console.log(req.file);
});

app.listen(3000);
  • Вопрос задан
  • 267 просмотров
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы