Javascript 使用multer将多个表单数据发送到express API
我想发送表单数据,包括一个文件到我的express API,以便在我的数据库中添加教堂,我想上传教堂详细信息和图像。 这是我的HTML表单:Javascript 使用multer将多个表单数据发送到express API,javascript,node.js,express,multer,Javascript,Node.js,Express,Multer,我想发送表单数据,包括一个文件到我的express API,以便在我的数据库中添加教堂,我想上传教堂详细信息和图像。 这是我的HTML表单: <form action="" id="ad-bis"> <div class="form-group"> <label>INTRODU NUMEle BISERICII</label> <input
<form action="" id="ad-bis">
<div class="form-group">
<label>INTRODU NUMEle BISERICII</label>
<input
type="text"
name="biserica"
id="biserica"
class="form-control"
/>
<span id="error_biserica" class="text-danger"></span>
</div>
<div class="form-group">
<label>INTRODU ORASUL</label>
<input type="text" name="oras" id="oras" class="form-control" />
<span id="error_oras" class="text-danger"></span>
</div>
<div class="form-group">
<label>INTRODU ADRESA</label>
<input type="text" name="adresa" id="adresa" class="form-control" />
<span id="error_adresa" class="text-danger"></span>
</div>
<div class="form-group">
<label>INTRODU NUME PREOT</label>
<input type="text" name="preot" id="preot" class="form-control" />
<span id="error_preot" class="text-danger"></span>
</div>
<div class="form-group">
<label for="poza">ADAUGA POZA</label>
<input type="file" id="poza" />
</div>
<div class="form-group" align="center">
<button type="submit" name="save" id="save" class="btn btn-info">
SALVARE
</button>
</div>
</form>
然后,我使用multer tu上载文件在express中创建了端点:
const multer = require("multer");
const storage = multer.diskStorage({
destination: function(req, file, cb) {
cb(null, "../images");
},
filename: function(req, file, cb) {
cb(null, file.fieldname + "_" + Date.now() + "_" + file.originalname);
}
});
const upload = multer({
storage: storage
}).array("imgUploader", 3);
outer.post("/adaugare", (req, res) => {
console.log(req.body);
res.json({ msg: "ok" });
/*
*/
});
在我的控制台中,req.body
为空,如何发送所有数据?
我尝试使用firebase存储,但它对我不起作用。
我错过了什么?
谢谢 第一个提示:由于您使用的是FormData,因此可以传入表单以自动获取表单中的所有值 第二,您在这里等待了两次:
const res = await await fetch("http://localhost:8080/api/site/adaugare", [...]
最后,req.body
为空是因为缺少body解析器,或者,正如我在这里看到的,您没有添加enctype=“multipart/form data”
属性,如果没有此属性,则无法从您的表单获取任何数据
const res = await await fetch("http://localhost:8080/api/site/adaugare", [...]