我正在使用Nest框架,并尝试发出Post请求以获取文件和数据,这就是我所做的
@Post('upload')
@UseInterceptors(FileInterceptor('file'))
uploadFile(@Body('data') addRefundDto:AddRefundDto,@UploadedFile() file) {
console.log(addRefundDto);
console.log(addRefundDto.price);
console.log(addRefundDto.refundType);
return ' ';
}
打印:
{ “ refundType”:“测试”, “货币:美元”, “价格”:58.5, “ flightId”:4, “ iAiCard”:true }
未定义
未定义
这就像dto以文本形式获取json(我也尝试调用@Body()而不是@Body('data'))
我从PostMan的请求中删除了“ Content-Type”,“ application / json”,因此我可以上传文件,是否可以很好地解决此问题?
非常感谢!
答案 0 :(得分:1)
您始终可以JSON.parse(addRefundDto)
将其放回JSON格式。 body-parser
数据包仅在以application/x-www-form-urlencoded
或application/json
的形式发送时才会解析数据,否则您需要自己解析(在这种情况下,只需使用JSON.parse()
) 。