Как показать данные base64String в формате PDF в iframe или встраивать? - PullRequest
0 голосов
/ 08 мая 2019

Это для гибридного приложения, которое работает в мобильном 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)

...