Понимание того, какой файл является большим — загрузка нескольких файлов с помощью Multer (Nodejs)

#node.js #express #multer #multer-s3

Вопрос:

У меня есть эта проблема, в которой я хочу загрузить 3-5 изображений. В этом случае размер файла может быть не более 2,5 МБ.

Я использую Node.js, Express и Multer, и это отлично работает — до тех пор, пока мне не понадобится понять, какой файл превышает лимит файлов.

Я получаю сообщение с ответом «файл на большой», но я не могу понять, какое из изображений было большим.

Есть какие-нибудь предложения?

С наилучшими пожеланиями, Оскар

 const maxSize = 2.5 * 1000 * 1000;
const uploader = multer({
  limits: { fileSize: maxSize },
  fileFilter: (req, file, cb) => {
    const { error } = createItemValidation(req.body);
    if (error) {
      return cb(new Error(error.details[0].message));
    } else if (
      file.mimetype == "image/png" ||
      file.mimetype == "image/jpg" ||
      file.mimetype == "image/jpeg"
    ) {
      cb(null, true);
    } else {
      cb(null, false);
      return cb(new Error("Only .png, .jpg and .jpeg format allowed!"));
    }
  },
  storage: multerS3({
    s3: s3,
    bucket: "shopitemimages",
    acl: "public-read",
    limits: { fileSize: maxSize },
    contentType: multerS3.AUTO_CONTENT_TYPE,
    metadata: function (req, file, cb) {
      cb(null, { fieldName: "lets see what we want as fieldvalue" });
    },
    key: function (req, file, cb) {
      cb(null, Date.now().toString());
    },
  }),
});