Моя проблема связана с отображением данных PDF-файла в кодировке base64 в браузере Chrome.Файлы PDF не являются статическими физическими файлами, а представляют собой потоки, преобразованные в данные в кодировке base64.Это одностраничное приложение, использующее серверную часть Node.js.PDF-файл отображается в модальном всплывающем окне вместо новой вкладки или окна.Код, отвечающий за отображение данных PDF в кодировке base64, приведен ниже:
var objbuilder = '';
objbuilder += ('<object width="100%" height="100%" data="data:application/pdf;base64,');
objbuilder += (r.response);
objbuilder += ('" type="application/pdf" class="internal">');
objbuilder += ('</object>');
var html = '';
html += '<div class="modal fade in" id="linkedDoc" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">';
html += '<div class="modal-dialog">';
html += '<div class="modal-content" style="height:800px;width:600px;">';
html += '<div class="modal-body" style="height: 100%;" id = "linkedBody">';
html += '<div style="height:25px;clear:both;display:block;">';
html += '<a class="controls previous" href="javascript:void(0);" data-dismiss="modal" aria-hidden="true">Close</a>';
html += '</div></div></div></div></div>';
$('#linkedDoc').remove();
$('body').append(html);
$('#linkedBody').append(objbuilder);
$('.modal').modal({
keyboard: false,
show: true
});
$('.modal-dialog').draggable({
handle: ".modal-header"
});
$('.modal-content').resizable();
$('#linkedBody').on('show.bs.modal', function () {
$(this).find('.modal-body').css({
'max-height': '100%',
'max-width': '100%'
});
});
Этот подход хорошо работает для файлов с размером файла почти 1 МБ, но не более того.Некоторые из файлов, которые я хочу отобразить, имеют размер 5 МБ, а некоторые даже 10 МБ.Как я могу исправить эту проблему. Это и Это ТАК вопросы, относящиеся к теме, но не характерные для моей ситуации.
Я не могу использовать HTML-теги embed и iframe, потому чтоим нужен физический файл в качестве атрибута 'src', но у меня нет физического файла PDF, а есть данные в памяти.