когда я отправляю форму на кнопка отправки формы, все работает и загруженный файл регистрируется в консоли сервера, но почему возникает ошибка Составной: граница не найдена, когда я нажимаю на Отправить с помощью выборки
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.info(data));
}
</script>
`);
});
app.post("/push", upload.single("image"), (req, res) => {
console.info(req.file);
});
app.listen(3000);
Я полагаю, вы хотите загрузить изображение? для этого вам нужно будет передать три параметра в вашем запросе на выборку uri , тип и имя в ваших данных формы. как пример:
fetch("/push", {
body: {uri :formData.uri ,
type: formData.type,
name: forData.name}
headers: {
"Content-Type": "multipart/form-data",
},
method: "POST",
}).then((data) => console.info(data));
}