Поддержка multer.array () в nestjs - PullRequest
0 голосов
/ 29 сентября 2018

Массивы загрузки файлов Nest.JS не работают, когда мы загружаем файлы, они сохраняются в буфере и не перемещаются в место назначения.

конфигурация мультиплеера:

   const fs = require('fs');
   const path = require('path');
   import * as multer from 'multer';


const dir = 'uploads';

if (!fs.existsSync(dir)){
    fs.mkdirSync(dir);
}
const storage = multer.diskStorage({
  destination: function (req, file, cb) {
    cb(null, dir)
  },
  filename: function (req, file, cb) {
    //cb(null, file.originalname)
    cb(null, Date.now() + path.extname(file.originalname))
  }
});

Базовый пример

@Post('upload')
@UseInterceptors(FileInterceptor('photo',multer({storage})))
uploadFile(@UploadedFile() file) {
  console.log(file);
}

Выше работает нормально.

Примечание: здесь ввод type="file" и name="photo"

И аналогично

Несколько файлов

@Post('upload')
@UseInterceptors(FileFieldsInterceptor([
  { name: 'avatar', maxCount: 1 },
  { name: 'background', maxCount: 1 },
],
multer({storage})))
uploadFile(@UploadedFiles() files) {
  console.log(files);
}

Он также работает нормально.

Но следующее не работает

Массив файлов

@Post('upload')
@UseInterceptors(FilesInterceptor('files',multer({storage})))
uploadFile(@UploadedFiles() files) {
  console.log(files);
}

Пожалуйста, у любого есть решение и дайте мне знать.И приведенный выше код, что я сделал ошибки, пожалуйста, дайте мне исправить это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...