Как отобразить данные base64String в формате PDF в iframe или встраивать?

Это для гибридного приложения, которое работает в мобильном Android-контейнере WebView, но имеет код MVC позади. Вот почему я не могу использовать window.open, чтобы показать PDF.

Мне нужно использовать iframe или embed, чтобы показать его в представлении mvc.

Я получаю данные в виде байтов из базы данных.

 byte[] RptData;
                                    SqlReportData = reader.GetSqlBytes(0);
                                    RptData = SqlReportData.Value;
                                    return RptData;

затем я конвертирую его в Base64String и передаю в viewModel.

 viewModel.PdfDataString = Convert.ToBase64String(pdfData);

Я попробовал довольно много главных предложений, которые мог найти, но ни один из них не работал для меня.

Iframe src устанавливает большие данные base64

Как отобразить в формате base64 в формате PDF?

Отображение сгенерированного ASP.NET pdf byte[] на веб-странице без сохранения файла

  <div><iframe src="" type="application/pdf"></iframe>
 </div>

 <div>
 <embed src="" width="100%" height="100%" type="application/pdf"/>
 </div>

<script>
    var pdfData = '@Model.PdfDataString';
    $("iframe").attr("src", 'data:application/pdf;base64,{0}'.replace('{0}', pdfData));
    $("embed").attr("src", 'data:application/pdf;base64,{0}'.replace('{0}', pdfData));
</script>

Я хочу показать эти данные Base64String в формате PDF в представлении MVC. Я пытаюсь с iframe и вставлять оба. iframe показывает пустое значение, а embed не отображается.

Chrome отладчик показывает:

Ресурс интерпретируется как Документ, но передается с приложением MIME-типа /pdf: "data:application/pdf;base64,JVBERi0xLjcKCjQgMCB....(ShowMore 1.6MB)

0 ответов

Другие вопросы по тегам