我用multipart/form-data
创建了一个POST
。
@UseInterceptors(FileInterceptor('file'))
@Post('upload')
@ApiConsumes('multipart/form-data')
uploadFile(@Body() body: FileDto, @UploadedFile() file: Express.Multer.File) {
console.log('body: ', body)
return 'uploaded'
}
字符串
FileDto:
export class FileDto {
@ApiProperty()
name: string
@ApiProperty({ type: 'string', format: 'binary' })
file: any
}
型
console.log
当whitelist: true
:body: {}
的值。
当whitelist: false
:body: { name: 'some name' }
个
Swagger :
使用class-validator
进行的pipe
验证似乎无法使用multipart/form-data
进行
我该怎么补救?
1条答案
按热度按时间l0oc07j21#
使用
whitelist: true
,class-validator从有效负载中剥离未知值。由于您的FileDto
没有class-validator
装饰器,因此name
被正确剥离。添加@Allow()
或class-valdiator验证装饰器来保留属性。