我
正在尝试使用 multer 上传文件。我可以上传文件,但不知何故无法获取表单内包含内容/类型的文本框值"多部分/表单数据"。
<div class="container">
<h1>File Upload</h1>
<form action="/upload" method="POST" enctype="multipart/form-data" >
<div class="file-field input-field">
<div class="btn grey">
<span>File</span>
<input name="myImage" type="file" multiple="multiple">
</div>
<div class="file-path-wrapper">
<input class="file-path validate" type="text">
</div>
</div>
<div ><input type="text" name="test"/></div>
<button type="submit" class="btn">Submit</button>
</form>
</div>
如何获取文本框的值
<div ><input type="text" name="test"/></div>
使用body.parser?当我尝试时
const {test} = req.body;
它给出一个错误类型错误:无法读取未定义的属性"测试"。
您需要将主体解析器包含在节点服务器中:
const bodyParser = require('body-parser');
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true}));
然后,您应该可以访问正文中的表单数据,即 req.body.test
.
改
用app.use(express.json())
,因为bodyParser在4.16.0版本中被添加回Express,因为人们希望它与Express捆绑在一起。这意味着如果您使用的是最新版本,则不必再使用bodyParser.json()
。您可以改用express.json()
。