Я НЕ МОГУ отправить файл в FormData, используя Angular 8

У меня есть этот код

onUpload() {
    const fd = new FormData();
    fd.append('photo', this.mainPhoto, this.mainPhoto.name);
    this.eventServ.uploadPhoto(fd).subscribe(
      (res) => {
        console.log('Archivo subido: ', res);
      }
    );
  }

Но со мной происходит что-то, чего я не понимаю. FormData отправляется пустым. Там должен быть файл, который я перехватываю другим методом, и я назначаю его свойству mainPhoto, и когда я проверяю, все правильно. Но я не знаю, что происходит, что отправляется пустой в службу. Я поместил console.log () до и после метода .append (), и переменная не изменилась. То же самое происходит, если я добавляю другой параметр, который является текстом. Если вы можете помочь мне, я был бы признателен. Я использую Angular 8

0
задан 28.11.2019, 15:54
1 ответ

LogrГ© посылать файл делая следующее:

const fd = new FormData();
fd.append('photo', this.mainPhoto, this.mainPhoto.name);
const request = new XMLHttpRequest();
request.open('POST', 'http://localhost:1337/media/upload');
request.send(fd);

, Но когда я призываю к услуге, что envГ - в просьбы, не выполняют я, но только и especГ-ficamente для этого случая где envГ - или файл.

//create-event.ts
this.eventServ.uploadPhoto(fd).subscribe(
      (res) => {
        console.log('Archivo subido: ', res);
      }
    );
// event.service.ts
public uploadPhoto(data: any): Observable<any> {
    console.log(data);
    return this.http.post(
      environment.apiUrl + 'media/upload/', data,
      // tslint:disable-next-line: max-line-length
      { headers: environment.headers.set('Content-Type', 'multipart/form-data;') });
  }
0
ответ дан 01.12.2019, 10:40