Otvertka12335
@Otvertka12335
Student

Как мне загрузить файл вместе с другими данными?

У меня есть форма, где выбирается фото код ниже:
<button mat-button type="button" (click)="imgFileInput.click()">Add a photo</button>
      <input hidden formControlName="img" #imgFileInput type="file" name="img" (change)="onFileChanged($event)" [value]="selectedFile"/>


и есть обработчик формы:
postForm: FormGroup;

constructor(private fb: FormBuilder) {
this.postForm = fb.group({
      'title': [null, Validators.required],
      'content': [null, Validators.compose([Validators.required, Validators.minLength(30)])],
      'category': [null, Validators.required],
      'img': ''
    });
}

onFormSubmit() {
    this._post.savePost(this.postForm);
  }


И на сервере функция:
router.post('/', upload.single('img'), async (req, res) => {
    console.log(req.file);
    console.log(req.body);
}


Так вот, req.body окей отображает, а вот req.file отображает undefiend, почему так может быть? может я не правильно загружаю файл?
  • Вопрос задан
  • 90 просмотров
Пригласить эксперта
Ответы на вопрос 2
Вот тут его грузят через FileReader
https://medium.com/@amcdnl/file-uploads-with-angul...
Ответ написан
Комментировать
2ord
@2ord
В HTML в теге form нужно выставить атрибут enctype="multipart/form-data"
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы