我提交的表单有时会包含单个图片,有时会包含多个图片。但是,当我提交图像时,请说1.jpg
,我的节点服务器的控制台输出为MS5qcGc=
。我假设不知何故图像没有被发送,只有文本?如何发送整个图像,并将其转换为base64
?
客户端
<form method="post">
<div class="form-group">
<label for="imgs">Images</label><input accept="image/*" multiple name="imgs" type="file">
</div>
</form>
服务器
if (typeof req.body.imgs == "string") {
console.log(new Buffer(req.body.imgs).toString('base64'));
} else {
for ( i in req.body.imgs) {
console.log(new Buffer(req.body.imgs[i]).toString('base64'));
}
}
答案 0 :(得分:2)
您需要将enctype
属性的值multipart/form-data
添加到form
元素。
<form method="post" enctype="multipart/form-data">
<div class="form-group">
<label for="imgs">Images</label><input accept="image/*" multiple name="imgs" type="file">
</div>
</form>