gloompi
@gloompi
FrontEnd developer

Обработка массива данных через multer в Nodejs?

Доброго времени суток, в общем к проблеме:
Использую на бекенде Nodejs с фреймворком koa,
нужна была обработка и сохранение картинок на сервере,
использовал koa-multer который идентичен с multer в express.
Ниже код:

const storage = multer.diskStorage({
  destination: function (req, file, cb) {
    cb(null, './public/uploads/')
  },
  filename: function (req, file, cb) {
    cb(null, file.fieldname + '-' + Date.now() + path.extname(file.originalname))
  }
});

const upload = multer({storage: storage});


при использовании upload.simple('img') - все работает отлично и сохраняет картинки, но я так же с клиента отправляю массив файлов который при получении на сервере отображается как [object FileList] и вот его multer почему то не обрабатывает, пробовал использовать upload.array('images') - images это название инпута для картинок с флажком multi.

Так вот, что я делаю не так? Пробывал с клиента перебрать картинки, засунуть их в массив и отправить, но тоже не работает.
  • Вопрос задан
  • 728 просмотров
Решения вопроса 1
gloompi
@gloompi Автор вопроса
FrontEnd developer
Нашел решение, оказывается с клиента надо было отправлять не
const fd = new FormData()
fd.append('images', this.images.files)

а,
for(let i=0; i < this.images.files.length; i++){
  fd.append('images', this.images.files[i])
}
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
привет! ты можешь описать как работает мультер? ибо у меня он не работает... в upload.single('file'), file - это название поля?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
28 нояб. 2024, в 05:21
2000 руб./за проект
28 нояб. 2024, в 05:18
500 руб./за проект
28 нояб. 2024, в 03:51
3500 руб./за проект