Nest Js - 在 multer 拦截器中如何设置最大文件上传大小并进行可选文件上传

问题描述 投票:0回答:1

我想设置一个文件的最大文件上传大小并使其可选上传文件。如果有文件上传,则不得超过其最大大小,如果没有文件上传,则不得向服务器请求文件,也不得抛出任何错误。

@Post("fileUpload")
  @UseInterceptors(FileInterceptor("file"))
  private async fileUpload(
    @UploadedFile()
    file,
    @Body() body
  ) {
       console.log(file);
    }
node.js typescript nestjs multer
1个回答
0
投票

ParseFilePipe with config
可用于处理:

@Post("fileUpload")
  @UseInterceptors(FileInterceptor("file"))
  private async fileUpload(
    @UploadedFile(
      new ParseFilePipe({
        validators: [
          new MaxFileSizeValidator({ maxSize: MAX_FILE_SIZE }),
          // new FileTypeValidator({ fileType: "image/jpeg" }),
        ],
        fileIsRequired: false,
      })
    )
    file,
    @Body() body
  ) {
    console.log(file);
  }
}
© www.soinside.com 2019 - 2024. All rights reserved.