Postman NestJS中的FileInterceptor和Body问题(在请求中上载文件和数据)

Postman NestJS中的FileInterceptor和Body问题(在请求中上载文件和数据),postman,nestjs,nestjs-swagger,Postman,Nestjs,Nestjs Swagger,我有以下控制器: createCollection @上传的文件, @正文createCollectionDto:createCollectionDto, @GetUser用户:用户, :承诺{ this.logger.verbose `使用者${ user.username }正在创建新集合。数据:${JSON.stringify createCollectionDto, }${user.username}`, ; 如果文件{ 返回此.collectionService.createColle

我有以下控制器:

createCollection @上传的文件, @正文createCollectionDto:createCollectionDto, @GetUser用户:用户, :承诺{ this.logger.verbose `使用者${ user.username }正在创建新集合。数据:${JSON.stringify createCollectionDto, }${user.username}`, ; 如果文件{ 返回此.collectionService.createCollection createCollectionDto, 使用者 文件 ; }否则{ 抛出新的InternalServerErrorException“需要文件”; } } 我需要上传一个文件,并在同一个查询中给出一些数据。

因为我想上传一个文件,所以我对邮递员的设置如下:

第一个问题:如何将文件与图片1中显示的数据一起发送

我在另一个工具中搜索API请求,发现

以下是我使用的配置:

但响应总是一样的:它不检测数据。i、 e.{name:foo,color:bar}

第二个问题:我如何解决这个问题?是否可以将数据放在一个文件中?如果可能,我如何在NestJS中实现这一点


非常感谢您阅读我的问题:任何帮助都将不胜感激

你很接近。要在Postman中的单个请求中上载文件和额外属性,您需要选择form data而不是x-www-form-urlencoded

下面是一个简单的NestJS控制器,它显示您可以获取所有数据:

从'@nestjs/common'导入{Body,Controller,Post,UploadedFile,UseInterceptors}; 从'@nestjs/platform express'导入{FileInterceptor}; @控制器“上传堆栈溢出” 导出类UploadStackOverflowController{ @发布“上传” @UseInterceptorsFileInterceptor'file' uploadSingleFileWithPost@UploadedFile文件,@Body-Body{ console.log文件; console.logbody.firstName; console.logbody.favoriteColor; } }
你很接近。要在Postman中的单个请求中上载文件和额外属性,您需要选择form data而不是x-www-form-urlencoded

下面是一个简单的NestJS控制器,它显示您可以获取所有数据:

从'@nestjs/common'导入{Body,Controller,Post,UploadedFile,UseInterceptors}; 从'@nestjs/platform express'导入{FileInterceptor}; @控制器“上传堆栈溢出” 导出类UploadStackOverflowController{ @发布“上传” @UseInterceptorsFileInterceptor'file' uploadSingleFileWithPost@UploadedFile文件,@Body-Body{ console.log文件; console.logbody.firstName; console.logbody.favoriteColor; } }
我发现了问题谢谢,像往常一样,这是一个愚蠢的错误:我期望“图像”,但在《邮递员》中我给了“文件”这个名字。我发现了问题谢谢,像往常一样,这是一个愚蠢的错误:我期望“图像”,但在《邮递员》中我给了“文件”这个名字