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

Rez*_*aei 4 validation hapijs joi

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

我正在发送许多文件作为流。

Jit*_*dra 6

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

route.options.payload.maxBytes
Run Code Online (Sandbox Code Playgroud)

例如:

      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
      },
Run Code Online (Sandbox Code Playgroud)
  • 默认值为 1048576 (1MB)。
  • 允许非常大的有效负载可能会导致服务器内存不足。