8.0 版本attachFieldsToBody: "keyValues" | treu | false 之前版本: addToBody
新版本对老版本的 addToBody 是不做兼容的,没有特殊需要不用升级
这里以老版本举例
原理:转换 formdata 参数到 body 中适用
"@fastify/multipart": "^7.7.3",
import contentParser from '@fastify/multipart';
// 文件上传
await adapter.register(fastifyMultipart, {
addToBody: true,
limits: {
fieldSize: 25 * 1024 * 1024, // 设置单个上传文件大小为 1MB
partsLimit: 10, // 设置最多上传 10 个文件
},
});
@Post('/testFormDataUploadFile')
async testFormDataUploadFile(@Body() body: Bodys) {
const { file } = body || {};
if (isEmpty(file)) {
throw new CustomException({ type: 'LOST_PARAM' });
}
}
interface Bodys {
// 图片
file: import('@fastify/multipart').MultipartFile | string;
}