我将Multer与Express结合使用,并尝试在将图像上传到AWS S3之前检索图像尺寸(宽度和高度)。
我的目标是通过图像大小,图像类型和图像尺寸来验证图像。 可以使用内置的Multer方法验证图像的大小和图像类型,但是不幸的是,如果不事先保存图像,则无法检索图像的尺寸。
当前,我将图像保存在本地,然后检索所述图像的尺寸,然后根据高度和宽度值,决定是否将图像上传到S3。
我试图避免仅在本地保存图像以获取其尺寸,然后将其上传到S3后将其删除,但是我不确定是否可以使用Multer进行操作,因为我似乎找不到找到访问该图像的方法。文件,直到实际上传为止。
感谢您的帮助。
答案 0 :(得分:0)
我不确定这是否对您有帮助,但您可以尝试将图像上传到一个临时文件夹中,这样您就可以访问图像尺寸。
然后提取尺寸并进行验证。
如果它满足您的要求,那么您上传到 S3。如果没有,您将其删除。
您可以访问此页面 here 以了解其他方法。可能会有帮助。
答案 1 :(得分:0)
锋利() .resize(400, 400, { 装进”, withoutEnlargement: true, // 如果图像的原始宽度或高度小于指定的宽度和高度,sharp 将不做任何事情(即不放大) })
1)它会减小照片的大小 2)它不会裁剪照片 3)以及什么类型的输出,你会得到这个