在 Nest JS 中上传动态多个文件

Upload dynamic multiple files in Nest JS

我正在尝试使用动态密钥上传文件,但nest.js 需要知道密钥名称。

我试过这个:

 @UseInterceptors(FilesInterceptor('files'))
    async uploadFile(@Query() minioDto: MinioDto, @UploadedFiles() files: Array<BufferedFile>) {
        const {bucket} = minioDto;
        return (await this.minioClientService.upload(files, bucket))?.name;
    }

这里的文件是静态的,但我想要动态的,比如:

@UseInterceptors(FilesInterceptor())
    async uploadFile(@Query() minioDto: MinioDto, @UploadedFiles() files: Array<BufferedFile>) {
        const {bucket} = minioDto;
        return (await this.minioClientService.upload(files, bucket))?.name;
    }

我什至尝试从请求中获取文件 但我不能

您可以使用 nest.js 提供的 AnyFilesInterceptor 动态上传多个文件,如下所示:

@Post('upload')
@UseInterceptors(AnyFilesInterceptor())
uploadFile(@UploadedFiles() files: Array<Express.Multer.File>) {
  console.log(files);
}