Я создал приложение 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 отображается пустым.