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

时间:2016-06-07 09:14:38

标签: validation hapijs joi

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

我将许多文件作为流发送。

1 个答案:

答案 0 :(得分:4)

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

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)。
  • 允许非常大的有效负载可能导致服务器内存不足。