我想要设置文件的最大文件上传大小,并使其成为可选的上传文件.如果有文件上传,那么它的最大大小不能超过,如果没有文件上传,那么它不能在服务器上请求文件,也不能抛出任何错误.

@Post("fileUpload")
  @UseInterceptors(FileInterceptor("file"))
  private async fileUpload(
    @UploadedFile()
    file,
    @Body() body
  ) {
       console.log(file);
    }

推荐答案

ParseFilePipeBuiler可以用来处理:

import { ParseFilePipeBuilder, HttpStatus } from '@nestjs/common';

@Post("fileUpload")
  @UseInterceptors(FileInterceptor("file"))
  private async fileUpload(
    @UploadedFile(
      new ParseFilePipeBuilder()
      .addMaxSizeValidator({
        maxSize: "MAX_FILE_SIZE"
      })
      .build({
        fileIsRequired: false
      })
    )
    file,
    @Body() body
  ) {
    console.log(file);
  }
}

Node.js相关问答推荐

node 无法验证第一个证书

可以删除一个mongodb catch块

Mongoose更新在^8.0.3版中,许多似乎不能按预期工作

Mongoose抱怨说,整数是数字,而不是整数

将 POST 的 json 变量格式化为 lambda

在 azure blob 容器之间复制文件

为什么 docker 容器内的应用程序无法访问它自己的 API 端点?

我如何在 Raku 的供应中注册不同的事件?

MongoDB - mongoose :如何查询这个? 填充()不起作用.它显示空

错误:0308010C:try 通过 Github 推送部署到 firebase 托管时出现数字

npm install 在 Mac 上的 Node-gyp 构建错误

如何在没有 Typescript 的情况下以交互方式使用 Create-React-App?

如何删除mongodb中嵌套数组中所有出现的数组元素

为什么在调用数据库调用时我的参数没有定义?

NestJS TypeORM 可选查询不起作用

使用 $in 查询时,如何获取 mongoDB 中每个唯一 ID 的 n 个文档?

使用restify时如何支持cors

Node.js + Express 上的多个视图路径

为什么 Node 控制台不显示功能代码?

我可以有条件地将 where() 子句添加到我的 knex 查询吗?