在 Nest.js 中接受表单数据

Posted

技术标签:

【中文标题】在 Nest.js 中接受表单数据【英文标题】:Accept form-data in Nest.js 【发布时间】:2020-12-31 10:54:42 【问题描述】:

我在 Nestjs 中编写了身份验证路由,并希望将其与表单数据一起使用。我让它与 URL-encoded-form-data、JSON、文本一起使用,但当我使用表单数据时没有收到正文中的任何内容,并且真的希望它与表单数据一起使用,因为我正在打前端带有表单数据的路由。我已经尝试了所有可以在网上找到的方法,但在这种情况下,它们都没有帮助我。因此,经过数小时的搜索和尝试,当我没有得到任何线索时,我在这里发布了我的问题。 任何形式的帮助表示赞赏。

注册端点代码

Main.ts 配置

我在邮递员身上得到空的身体

【问题讨论】:

【参考方案1】:

NestJS 提供了一个内置的multipart/form-dataparser,您可以使用FileInterceptor 访问它。

这是一个如何读取单个文件的示例(如屏幕截图所示):

@Post('signup')
@UseInterceptors(FileInterceptor('<name of file here - asdasd in your screenshot>'))
signup(@UploadedFile() file, @Body() body) 
  console.log(file);
  console.log(body);

【讨论】:

以上是关于在 Nest.js 中接受表单数据的主要内容,如果未能解决你的问题,请参考以下文章

Nest.js RangeError:超出最大调用堆栈大小

无法连接到数据库 - NEST.JS 和 TypeORM

Nest.js 在护照本地策略中获取请求标头

如何在 Nest.js 中删除 @ManyToMany 关系中的数据

有啥方法可以在不使用 Nest.js 中的 async/await 的情况下从数据库中获取数据?

Nest JS DTO 和实体模型 JSON 不匹配问题