как добавить заголовки для формирования данных в угловых 5 - PullRequest
2 голосов
/ 17 октября 2019

Как добавить заголовки для формирования данных с индикатором выполнения?

Я получаю следующую ошибку:

ОШИБКА в src / app / services / auth.service. ts (91,23): ошибка TS2554: ожидается 2-4 аргумента, но получено 5.

код:

   public upload(
    files: Set<File>
  ): { [key: string]: { progress: Observable<number> } } {
    // this will be the our resulting map
    const status: { [key: string]: { progress: Observable<number> } } = {};

    files.forEach(file => {
      // create a new multipart-form for every file

      const formData: FormData = new FormData();
      formData.append('file', file, file.name);

      // formData.append('name', course, course.name);
      // formData.append('text', username, username.name);
      let headers = new Headers();
      this.loadToken();
      headers.append('Authorization', this.authToken);
      // headers.append('Content-type', undefined);


      // create a http-post request and pass the form
      // tell it to report the upload progress

      const req = new HttpRequest('POST', 'users/upload', formData,{headers: headers},{
        reportProgress: true
      });

      // create a new progress-subject for every file
      const progress = new Subject<any>();

      // send the http-request and subscribe for progress-updates

      const startTime = new Date().getTime();
      this.https.request(req).subscribe(event => {
        if (event.type === HttpEventType.UploadProgress) {
          // calculate the progress percentage

          const percentDone = Math.round((100 * event.loaded) / event.total);
          // pass the percentage into the progress-stream
          progress.next(percentDone);
        } else if (event instanceof HttpResponse) {
          // Close the progress-stream if we get an answer form the API
          // The upload is complete
          progress.complete();
        }
      });

      // Save every progress-observable in a map of all observables
      status[file.name] = {
        progress: progress.asObservable()
      };
    });

    // return the map of progress.observables
    return status;
  }

1 Ответ

2 голосов
/ 17 октября 2019

ОШИБКА в src / app / services / auth.service.ts (91,23): ошибка TS2554: ожидается 2-4 аргумента, но получено 5.

Сообщение об ошибкеговорит, что ожидал 2-4 аргумента, но получил 5.

headers и reportProgress не должны быть отдельными аргументами, они оба должны быть частью четвертого аргумента в HttpRequest .

Чтобы исправить ошибку, измените HttpRequest, как показано ниже:

const req = new HttpRequest('POST', 'users/upload', formData,
  { headers: headers, reportProgress: true });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...