具有文件和正文的后置控制器

时间:2019-07-25 12:55:26

标签: node.js nestjs

我正在使用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”,因此我可以上传文件,是否可以很好地解决此问题?

非常感谢!

1 个答案:

答案 0 :(得分:1)

您始终可以JSON.parse(addRefundDto)将其放回JSON格式。 body-parser数据包仅在以application/x-www-form-urlencodedapplication/json的形式发送时才会解析数据,否则您需要自己解析(在这种情况下,只需使用JSON.parse()) 。