Функция загрузки файлов для всех браузеров в угловых 6. Отлично работает с Chrome и все, но не в IE. Что мне не хватает? - PullRequest
0 голосов
/ 15 марта 2019

Мне нужно создать ссылку для скачивания в angular 6, которая должна работать во всех браузерах. Работает нормально с хромом, fire fox но не в IT. Я создал BLOB-объект и изменил mumeType тоже. Я мог бы пропустить что-то. Код ниже для загрузки IE.


HTML код

<a *ngIf="true" class="link-dwnld" download="{{log.createdBy+'_'+(log.createDate | regexpReplace: '^(.*)Z$': '$1'| date: 'MMddyy_HHmm')+'.csv'}}"
                   [href]="downloadLinkI" (click)="getInputFileIE(log.overpaymentRecoveryId)">
                  {{log.createdBy+'_'+(log.createDate | regexpReplace: '^(.*)Z$': '$1'| date: 'MMddyy_HHmm')+'.csv'}}
                </a>

код файла ts

> getInputFileIE(id: number): boolean {
>     console.log('from IE download. its IE');
>     this.recoveryLog.forEach( dataStr => {
>       if (dataStr.overpaymentRecoveryId === id) {
>         this.strI = dataStr.inputFile ;
>         this.strO = dataStr.outputFile;
>       }
>     });
>     const strMimeType = 'application/octet-stream;charset=utf-8';
>     // IE10+
>     if (navigator.msSaveBlob && this.strI) {
>       return navigator.msSaveBlob(new Blob(['\ufeff', this.strI], {
>         type: strMimeType
>       }), this.fileNameI);
>     } else if (navigator.msSaveBlob && this.strO) {
>       return navigator.msSaveBlob(new Blob(['\ufeff', this.strO], {
>         type: strMimeType
>       }), this.fileNameO);
>     }
>     return true;   }
...