如何使用 Joi 验证上传的文件大小

How to validate uploaded file size with Joi

我正在使用 Joi 来验证请求。我想知道我应该如何使用 Joi 验证上传的文件大小。

我正在以流的形式发送许多文件。

要将传入有效负载的大小限制为指定的字节数,您可以使用以下方法:

route.options.payload.maxBytes

例如:

      payload: {
          maxBytes: 20715200,
          output: 'stream',
          parse: true,
          allow: 'multipart/form-data'
      },
      validate: {
          payload: {
                bannerImage: Joi.any()
                .meta({swaggerType: 'file'})
                .optional()
                .allow('')
                .description('image file'),
                   },
          failAction: UniversalFunctions.failActionFunction
      },
  • 默认值为 1048576 (1MB)。
  • 允许非常大的负载可能会导致服务器 运行 内存不足。