Как просмотреть файл в новой вкладке с угловой JS 5? - PullRequest
0 голосов
/ 26 мая 2018

Я пытаюсь просмотреть файл в браузере на новой вкладке, но в сервисе я не получаю никакого ответа, и я получаю обработчик перехвата моего сервиса, а в обработчике я не получаю никакой конкретной ошибки для устранения проблемы.

Я отправляю токен авторизации в заголовке, потому что API моего документа просмотра защищен.

Также есть 2 вызова, которые я не понимаю, почему:

Call1

Call2

Код:

Контроллер:

viewFile(index) {
    this.FileService.view("f819f948-b5dd-4478-ad69-b0e610627375").subscribe((response) => {
      if (response.message === "success") {
        window.open(this.baseUrl + response.id, '_blank');
      }
     }),
      (error) => {
        console.log('error');
    }
  }

FileService.ts

view(id): Observable<any> {
    return this._http.get<any>(this.baseUrl + 'example/document/' + id)
    .catch(this.handleError);
  }

  handleError(error: HttpErrorResponse) { //always throwing here
    if (error.error instanceof ErrorEvent) {
      console.error('An error occurred:', error.error.message);
    } else {
      console.error(
        `Backend returned code ${error.status}, ` +
        `body was: ${error.error}`);
      console.log(error);
    }
    return new ErrorObservable(
      'Something bad happened; please try again later.');
  };

Ядро Webapi: метод поддержки

 IServiceContext _ctx;
 Stream stream = repo.GetFileStream("abc.pdf", filePath);
                if (stream.CanSeek)
                {
                    stream.Seek(0, SeekOrigin.Begin);
                }
                _ctx.req.HttpContext.Response.Headers.Add("Content-Disposition", "inline; filename=" + "abc.pdf");
                var provider = new FileExtensionContentTypeProvider().
                TryGetContentType("abc.pdf", out string contentType);
                _ctx.req.HttpContext.Response.ContentType = contentType;
                stream.CopyTo(_ctx.reqobj.HttpContext.Response.Body);
                stream.Flush();

Я не понимаю, в чем здесь проблема, и самое главное, почему есть 2получать вызовы?

Когда я вызываю api document view в api, то я вижу файл, а также когда я захожу в предварительный просмотр инструмента Develer в chrome, я вижу изображение, но оно не работаетс угловой JS.

Я что-то пропустил со стороны сервераили что-то не так на стороне клиента?

Буду признателен за любую помощь:)

...