我正在使用nodejs + mongodb。在上传图像的前端,如果尺寸超过50kb则不允许。我想将其设置为5MB,以便我可以上传图像,如果大小为1MB或2MB。我已经尝试了很多方法,我用谷歌搜索它,但我仍然得到适当的解决方案。 我查了一下这个链接[Joi / hapi] [1]
[1]:https://github.com/hapijs/joi/blob/v9.0.1/API.md但仍无效。任何人都可以帮助我
这是我的架构
const nameofSchema = Joi.object().keys({
description: Joi.string(), // .required(),
image: Joi.string().max(500000),
category: Joi.string(),
namesasd: Joi.string().regex(/^[a-z][a-z0-9-]*$/),
title: Joi.string(), // .required(),
price: Joi.number().integer(),
tag: Joi.object().keys({
tag_name: Joi.string()
})
});
在此图片中我想设置最大限制尺寸5mb。(上传最大5mb尺寸的图片)
以下是路线
create: {
description: '',
path: '/',
verb: 'post'
},
答案 0 :(得分:6)
您不会使用Joi来设置文件大小限制。这是route configuration选项。您可以将config.payload.maxBytes
属性设置为所需的字节数。默认值为1 Mb。小例子:
{
method: 'POST',
path: '/upload',
config: {
payload: {
maxBytes: 1000 * 1000 * 5, // 5 Mb
output: 'stream',
parse: true
},
validate: {
payload: {
file: Joi.any()
}
}
},
handler: function(request, reply) {
/* do stuff with your file */
}
}