Angular 9 - Загрузка запрещена. Фрейм, инициирующий или запускающий загрузку, изолирован, но флаг 'allow-downloads' не установлен - PullRequest
0 голосов
/ 17 июня 2020

Всем привет :)

Я получаю это предупреждение в консоли при попытке загрузить файл в приложении: Download is disallowed. The frame initiating or instantiating the download is sandboxed, but the flag ‘allow-downloads’ is not set. See https://www.chromestatus.com/feature/5706745674465280 for more details.

component. html

<a class="download-document-link" #downloadDocumentLink download></a>

component.ts

  @ViewChild('downloadDocumentLink') private downloadDocumentLink: ElementRef;
  ....

  private downloadDocument(doc: string): void {
    const source = `data:application/${this.order.docType.toLowerCase()};base64,${doc}`;
    const fileName = `order-${this.order.orderId}.${this.order.docType.toLowerCase()}`;
    const link = this.downloadDocumentLink.nativeElement;

    // IE workaround
    if (window.navigator && window.navigator.msSaveBlob) {
      saveDocumentIE(doc, fileName, this.order);
    } else {
      link.href = source;
      link.target = '_blank';
      link.download = fileName;
      link.click();
    }
  }

Предупреждение очень странное, потому что загрузка работала до Chrome 83, и я не использую iframe. Есть ли у вас в этом опыт?

1 Ответ

1 голос
/ 22 июня 2020

Решение найдено! Эта проблема возникла не из Chrome. Это связано с конфигурацией нашего веб-сервера. Не было флага: Content-Security-Policy "sandbox allow-downloads";:)

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