Мне нужно скачать PDF по URL - PullRequest
       5

Мне нужно скачать PDF по URL

1 голос
/ 16 октября 2019

Я прочитал несколько сообщений об этом, но я не смог решить мою проблему.

Я получаю PDF только на той же вкладке, по которой я перемещался, что мне не нужно. Мне нужно pdf, чтобы начать загрузку в проводнике, но я совершенно не понимаю, каким должен быть мой следующий шаг. Мне также нужно дать pdf несколько параметров, чтобы напечатать его, но это тема, которую я смогу отладить. Это мой код, который вызывается с кнопки на HTML.

downloadPDF(){
    let vm = this;
    let pdf = this.URL_ANEXO_;
    let blob = new Blob([pdf], { type: 'data:attachment/pdf;charset=utf-8' });

    let fileName = 'ANEXO_.pdf';;

    let link: any = document.createElement('a');

    let url = this.URL_ANEX_;
    link.href = url;
    link.download = fileName;
    document.body.appendChild(link);
    link.click();

    setTimeout(function () {
        document.body.removeChild(link);
        window.URL.revokeObjectURL(url);
    }, 100);


        }

}

1 Ответ

0 голосов
/ 16 октября 2019

Internet Explorer не будет работать с этим кодом, его необходимо разделить следующим образом:

    downloadPDF() {
        let vm = this;
        let pdf = this.URL_ANEXO_;
        let fileName = 'ANEXO_.pdf';
        let blob = new Blob([pdf], { type: 'application/pdf' });
        // In case of Internet Explorer !!
        if (window.navigator.msSaveOrOpenBlob && Blob) {
            window.navigator.msSaveOrOpenBlob(blob, filename);
        }
        else {
            let link: any = document.createElement('a');
            //let url = this.URL_ANEX_;

            let fileURL = window.URL.createObjectURL(blob);
            link.href = fileURL;
            link.download = fileName;
            document.body.appendChild(link);
            link.click();

            setTimeout(function () {
                document.body.removeChild(link);
                window.URL.revokeObjectURL(fileURL);
            }, 100);
        }
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...