Estoy enviando un formulario que contiene a veces una sola imagen, a veces varias. Sin embargo, cuando envío una imagen, digamos 1.jpg , la salida de la consola de mi servidor de nodo es MS5qcGc= . Supongo que de alguna manera la imagen no se envía, ¿solo el texto? ¿Cómo puedo enviar la imagen completa y convertirla a base64 ?
Cliente
<form method="post"> <div class="form-group"> <label for="imgs">Images</label><input accept="image/*" multiple name="imgs" type="file"> </div> </form>Servidor
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')); } }Debe agregar el atributo enctype con un valor de multipart/form-data a su elemento de 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>