Angular загрузить несколько файлов в nodejs Multer - PullRequest
0 голосов
/ 03 августа 2020

У меня есть несколько файлов в angular в одном объекте типа FileList. Я хочу загрузить все файлы в Multer в бэкэнде.

MULTER:

const storage = multer.diskStorage({
    destination(req, file, cb) {
        cb(null, './files');
    },
    filename(req, file, cb) {
        const name = file.originalname.toLowerCase().split(' ').join('-');
        const ext = mime.extension(file.mimetype);
        cb(null, `${name}-${Date.now()}.${ext}`);
    }
});

const uploadItemFiles = multer({ storage }).array('files', process.env.MAX_FILES);

ANGULAR ФАЙЛЫ:

public addItem(
  files: FileList
): Observable<Response> {
  const baseUrl: string = ENDPOINT + 'item';

  const postData = new FormData();
  for(const key of Object.keys(files)) {
    postData.append('files', files[key], title + key);
  }

  return this.http.post<Response>(baseUrl, postData);
}

В бэкэнде я получаю сообщение об ошибке: MulterError: Unexpected field. Тогда - мне отправить файлы?

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