如何从请求中访问属于非文件 字段的文本? (我正在使用 Insomia )
我们可以通过遍历部分来访问文件字段。使用 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 {
// WE ACCESS FILES OF MULTIPART FORM REQUEST HERE
const parts = await req.files();
for await (const data of parts) {
console.log("*******File being access**********");
console.log(data.filename); // access file name
...
}
// HOW DO WE ACCESS OTHER *NON_FILES* FIELDS?
...
res.status(201).send({ message: "Property Added!." });
} catch (error) {
res.send(error);
}
};
在 Controller 脚本中,我们使用 await req.files();
访问文件。
我们如何访问非文件的字段,比如文本
最佳答案
有两种方法可以获取文档中给出的其他数据 https://github.com/fastify/fastify-multipart
现在您可以访问 data.fields 中的名称
const data = await req.file();
console.log(data.fields.name.value); // virender
- 你可以把它贴在 body 上
fastify.register(require('fastify-multipart'), { attachFieldsToBody: true });
const file = req.body.image1;
const name = req.body.name.value
关于javascript - Fastify - 如何使用 fastify-multipart 获取非文件字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70477141/