首页 > 解决方案 > 从base64数据显示pdf

问题描述

我正在尝试从 base64 数据进行预览。在这里它适用于任何 base64 图像,但如果我使用base64 pdf,那么它显示插件不受支持。这是我的代码。有一个帖子非常相似,但没有达到我的期望。

if(response.responseCode == 1)
{
  $("#image-info-content").html('<object data="'+response.data+'"></object>');
  $('#image-modal').modal();
}

我也试过type="application/pdf"。仍然无法正常工作。虽然我不想要这个,因为可能有图像或 pdf 文件。提前致谢

response.data 像这里data:application/pdf;base64,JVBERi0xLjMKJeLjz9MKMSAwIG9iago8.......

标签: javascripthtmlbase64

解决方案


通过这种方式,我们可以在新选项卡中打开 pdf。我在某个地方找到了这个,但我不记得确切的位置

var objbuilder = '';
objbuilder += ('<object width="100%" height="100%" 
data="data:application/pdf;base64,');
objbuilder += (myBase64string);
objbuilder += ('" type="application/pdf" class="internal">');
objbuilder += ('<embed src="data:application/pdf;base64,');
objbuilder += (myBase64string);
objbuilder += ('" type="application/pdf"  />');
objbuilder += ('</object>');

var win = window.open("#","_blank");
var title = "my tab title";
win.document.write('<html><title>'+ title +'</title><body style="margin-top: 
0px; margin-left: 0px; margin-right: 0px; margin-bottom: 0px;">');
win.document.write(objbuilder);
win.document.write('</body></html>');
layer = jQuery(win.document);

推荐阅读