Xhr запрос не отправляет сессионный cookie при попытке прочитать прогресс загрузки в Angular 2 - PullRequest
0 голосов
/ 09 октября 2018

Я использую Angular 2. У меня есть модуль загрузки, который отлично работает с приведенным ниже кодом.Моя система отправляет файл cookie сеанса на сервер и загружает файл.

@Injectable()
export class CustomBrowserXhr extends BrowserXhr {

  constructor(private service:ProgressService) {
    super();
  }

  build(): any {
    let xhr = super.build();
    xhr.withCredentials = true;
    return <any>(xhr);
  }
}

В последнее время мне нужно было показать прогресс загрузки файла и после некоторого исследования и после этой темы Angular 2.0 Как расширитьBrowserXhr для создания индикатора выполнения? Я обновил свой CustomBrowserXhr, как показано ниже.

build(): any {
    let xhr = super.build();
    xhr.withCredentials = true;

    xhr.upload.onprogress = (event) => {
      console.log("test");
    }; 

    return <any>(xhr);
  }

Теперь браузер не отправляет файл cookie сеанса на сервер при попытке загрузить файл.Мой код загрузки файла ниже.Любая идея, почему это будет?

            let formData: FormData = new FormData();
            formData.append('uploadFile', file, file.name);
            let headers = new Headers();
            headers.append('Accept', 'application/json');
            let options = new RequestOptions({ headers: headers });
            this._http.post(this.url, formData, options)
                .map(res => res.json())
                .subscribe(
                data => {
                    this.fileLoadingFlag = false;
                    this.fileLoadedFlag = true;
                    this.fileName = data.fileName;
                    this.md5Hash = data.md5Hash;
                    this.fileNameValidator = false;
                    this.fileTypeValidator = true;
                },
                error => console.log(error)
                )
...