Это для гибридного приложения, которое работает в мобильном 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
как отобразить PDF в кодировке base64?
Показать ASP.NETсгенерированный pdf байт [] на веб-страницу без сохранения файла
<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)