Как отобразить данные 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)