8.0 版本attachFieldsToBody: "keyValues" | treu | false 之前版本: addToBody

新版本对老版本的 addToBody 是不做兼容的,没有特殊需要不用升级

这里以老版本举例

原理:转换 formdata 参数到 body 中适用

package.json

"@fastify/multipart": "^7.7.3",

main.js

import contentParser from '@fastify/multipart';

// 文件上传
    await adapter.register(fastifyMultipart, {
        addToBody: true,
        limits: {
            fieldSize: 25 * 1024 * 1024, // 设置单个上传文件大小为 1MB
            partsLimit: 10, // 设置最多上传 10 个文件
        },
    });

controller

@Post('/testFormDataUploadFile')
    async testFormDataUploadFile(@Body() body: Bodys) {
        const { file } = body || {};
        if (isEmpty(file)) {
            throw new CustomException({ type: 'LOST_PARAM' });
        }
    }

Bodys DTO

interface Bodys {
    // 图片
    file: import('@fastify/multipart').MultipartFile | string;
}