在保存/上传图像之前,是否可以使用 Multer 获取图像尺寸(宽度和高度)



我正在将 Multer 与 Express 配合使用,并且正在尝试在将图像上传到 AWS S3 之前检索图像尺寸(宽度和高度(。

我的目标是通过图像大小、图像类型和图像尺寸来验证图像。 图像大小和图像类型可以使用内置的Multer方法进行验证,但不幸的是,如果不事先保存图像,则无法检索图像尺寸。

目前,我在本地保存图像,然后检索所述图像的尺寸,然后根据高度和宽度值,我决定是否应将图像上传到 S3。

我试图避免在本地保存图像只是为了检索其尺寸,然后在上传到 S3 后将其删除,但我不确定使用 Multer 是否可以这样做,因为我似乎找不到一种方法来访问该文件直到它实际上传。

任何帮助,不胜感激。

我不确定这是否会对您有所帮助,但您可以尝试将图像上传到临时文件夹中,该文件夹允许您访问图像尺寸.
然后提取尺寸并对其进行验证.
如果它符合您的要求,则上传到 S3。如果没有,请将其删除。

您可以在此处访问此页面以获取其他方法。它可能会有所帮助。

sharp()
.resize(400, 400, {
fit: "inside",
withoutEnlargement: true, // if image's original width or height is less than specified width and height, sharp will do nothing(i.e no enlargement)
})

1(它会减小照片的大小 2(它不会裁剪照片 3(以及什么类型的输出,您将使用此得到

最新更新