【发布时间】:2018-07-14 11:03:33
【问题描述】:
我正在Nodejs 中构建一个项目,使用express 框架和ejs 作为视图引擎,我被困在需要上传图像的地方,我正在使用Multer,但问题是我想要如果图像的高度或宽度小于或大于预设大小,例如70px * 40Px,则设置一个不将图像上传到服务器的标准,之前我曾经使用 codeignitor 无缝地做到这一点。
我可以搜索的所有解决方案都使用 GM(Graphics Magick),但在通过 Multer 上传图像后开始发挥作用。我不是在寻找代码帮助,而是对 npm 中可以为我执行此操作的任何已知插件的任何建议。
注意:我不相信客户端验证,即使我使用一个,我仍然保持服务器端验证正常工作,所以我也在寻找服务器端解决方案。
【问题讨论】:
-
您必须信任客户端验证或允许将图像上传到服务器。不能两全其美。
-
您可以对文件大小和mime类型设置合理的限制,以适应您想要的图像分辨率,如果不符合规格则拒绝它
-
我已经用 multer & gm 实现了相同的功能,并且只是编写了一个代码,以便如果图像不是所需的尺寸,它将在发送错误消息之前自动删除。
标签: javascript node.js express npm