Загрузить файл из Angular 9 в NestJs - PullRequest
0 голосов
/ 19 апреля 2020

Мне очень трудно загрузить файл в свой бэкэнд (гнездо Js). Я не понимаю, как мой FileInterceptor считывает «fieldName», установленное как параметр Multer.

Вот мой mediaService (front)

/* Upload an image into the server */
uploadImage(image: File) {
  const formData = new FormData();
  formData.append('file', image);
  return this.http.post<any>(`${this.serverUrl}/medias`, { formData });
}

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

Вот моя конечная точка API для загрузки файла

@Post()
    @UseInterceptors(
        FileInterceptor('file', {
            storage: diskStorage({
                destination: './public/upload',
                filename: editFileName,

            }),
            fileFilter: imageFileFilter,
        }),
    )
    async uploadedImage(
        @UploadedFile() file
    ) {
        return this.mediasService.create(new MediaDto(data))
    }

Почему мой fileInterceptor не может прочитать ключ "file" моего formData? Если я отправляю изображение с помощью Почтальона, назовите файл ключа, он будет работать, как и ожидалось, файл будет сохранен в моем хранилище.

Уже пробовал несколько других подходов с заголовками «multiform-data», меняя имя ключа et c ..

Любая помощь будет очень признателен

Спасибо!

...