показать PDF в 64-битной в iexplorer - PullRequest
0 голосов
/ 03 мая 2018

Мне нужно показать PDF-файл с данными, это данные: application / pdf; base64, @Session ["Pdf"].

Итак, процесс работает на моем компьютере. Я открываю PDF и автоматически добавляю PDF с данными в GOOGLE CHROME.

Проблема в том, что когда я делаю этот процесс в веб-среде или IE, страница HTML ничего не показывает.

1-й предварительный

<body> <object data="data:application/pdf;base64, @Session["Pdf"]" type="application/pdf" style="width: 100%; height: 100%;" frameborder="0" scrolling="no"> <p>It appears you don't have Adobe Reader or PDF support in this web browser. </p> <embed src="data:application/pdf;base64, @Session["Pdf"]" type="application/pdf" /> </object> </body>

2-й предварительный

<div class="modal-body"> <iframe src="data:application/pdf;base64, @Session["Pdf"]" style="width: 100%; height: 100%;" frameborder="0" scrolling="no"> @*<embed src="@Session["Pdf"]"></embed>*@ </div>

3-й

 <script type="text/javascript">

 var data= "data:application/pdf;base64,@Session["Pdf"]" ;

if (data == "" || data == undefined) {
    alert("Falied to open PDF.");
} else { 
    //For IE using atob convert base64 encoded data to byte array
    if (window.navigator && window.navigator.msSaveOrOpenBlob) {
        var byteCharacters = atob(data);
        var byteNumbers = new Array(byteCharacters.length);
        for (var i = 0; i < byteCharacters.length; i++) {
            byteNumbers[i] = byteCharacters.charCodeAt(i);
        }
        var byteArray = new Uint8Array(byteNumbers);
        var blob = new Blob([byteArray], {
            type: 'application/pdf'
        });
        window.navigator.msSaveOrOpenBlob(blob, fileName);
    } else { 
        // Directly use base 64 encoded data for rest browsers (not IE)
        var base64EncodedPDF = data;
        var dataURI = "data:application/pdf;base64," + base64EncodedPDF1;
        window.open(dataURI, '_blank');
    }
  }
  </script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...