Как заставить открытие файла в iframe вместо скачивания - PullRequest
0 голосов
/ 27 марта 2020

Я создал приложение angular, в котором я отображаю файл в iframe.

<iframe [src]="source" *ngIf="source" name="pdf"></iframe>

Файл поставляется в формате pdf в виде строки base64, вот метод, в котором я загружаю файл в iframe.

  createPdfFile(base64Str) {
    const byteCharacters = atob(base64Str);
    const byteNumbers = new Array(byteCharacters.length);
    for (let i = 0; i < byteCharacters.length; i++) {
      byteNumbers[i] = byteCharacters.charCodeAt(i);
    }
    const byteArray = new Uint8Array(byteNumbers);
    const file = new Blob([byteArray], { type: 'application/pdf;base64' });
    this.fileUrl = URL.createObjectURL(file);
    if (window.navigator && window.navigator.msSaveOrOpenBlob) {
      this.unsuportedBrowser = true;
    } else {
      this.source = this.sanitizer.bypassSecurityTrustResourceUrl(this.fileUrl);
    }
  }

Все отлично работает в chrome, но Mozilla вместо отображения PDF открывает окно загрузки файла, и мой iframe отображается пустым.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...