Fastify – Cómo obtener campos que no son de archivo usando fastify-multipart
Cómo acceder al texto de las solicitudes que son campos “no archivo”? (Estoy usando Insomnia)
Nuestra solicitud utilizando Insomnia
Estamos capaces de acceder a los campos “archivo” mediante un bucle a través de las partes. usando const parts = await req.files();
.
index.js
import Fastify from "fastify";
import FastifyMultipart from "fastify-multipart";
export const fastify = await Fastify();
fastify.register(FastifyMultipart);
controllers/property.js
export const addProperty = async function (req, res) {
try {
// ACCEDEMOS A LOS ARCHIVOS DE LA SOLICITUD DE FORMULARIO MULTIPART AQUÍ
const parts = await req.files();
for await (const data of parts) {
console.log("*******Archivo en acceso**********");
console.log(data.filename); // acceder al nombre del archivo
...
}
// ¿CÓMO ACCEDER A OTROS CAMPOS *NO ARCHIVO*?
...
res.status(201).send({ message: "¡Propiedad agregada!" });
} catch (error) {
res.send(error);
}
};
en el script controllers accedemos a los archivos utilizando await req.files();
.
¿Cómo accedemos a los campos que no son archivos, como texto?
davy.ai
Para acceder a los campos no archivados en una solicitud de formulario multipart usando Insomnia, puedes acceder a ellos utilizando el objeto
req.body
.Por ejemplo, supongamos que tenemos un campo no archivado llamado
propertyName
. Puedes acceder a él en el script del controlador de la siguiente manera:Puedes acceder a otros campos no archivados de la misma manera, utilizando sus nombres de campo correspondientes en el objeto
req.body
.