Ошибка мультера не удается загрузить файл размером более 50 кб

#node.js #express

Вопрос:

У меня возникли проблемы с multer, так как я использую socket.io(Я не уверен, но после того, как я использовал это, мое промежуточное программное обеспечение multer не работало должным образом). Вот мой код для получения дополнительной информации

 const maxSize = 1024 * 1024 * 2

const storage = multer.diskStorage({
  destination: function (_req, _file, cb) {
    cb(null, path.join(process.cwd(), 'assets', 'pictures'))
  },
  filename: function (_req, file, cb) {
    const ext = file.originalname.split('.')[1]
    const date = new Date()
    cb(null, `${date.getTime()}.${ext}`)
  }
})

const upload = multer({
  storage: storage,
  limits: { fileSize: maxSize }
}).single('picture')

const uploadFilter = (req, res, next) => {
  console.log(req, 'test mmulter first')
  upload(req, res, function (err) {
    if (err instanceof multer.MulterError) {
      return response(res, false, err.message, 400)
    } else if (err) {
      return response(res, false, err.message, 500)
    }
    // console.log(req, 'test multer second')
    next()
  })
}
 

Поэтому, когда я пытаюсь загрузить файл размером менее 50 кб, загрузка работает отлично, но когда я пытаюсь поместить файл размером более 50 кб, он будет продолжать висеть, не возвращая никакого ответа, даже если он не возвращает ошибку, поэтому, когда происходит эта ошибка, console.log() и next() внутри загрузки не вызываются. Странно то, что файл действительно сохранен в моей локальной папке (50 кб или больше), но когда дело доходит до файла размером более 50 кб, он обрезается.
вот так
введите описание изображения здесь

Комментарии:

1. Дополнительная информация: Я пытаюсь сохранить файл в своей БД, поэтому, когда размер файла превышает 50 КБ, он не будет сохранен

2. еще одна информация: изображение выше, которое обрезается, является файлом png, для jpg, jpeg и т. Д., Оно работает нормально (сохранить в локальную папку), но да, у него все еще та же ошибка (файл не сохранен в БД)