打开附件 js实现把后台返回的流进行拼接 preview (){ // parmsFiles 就是后台给你返回的一串流 const pdf = "data:application/pdf;base64," + par_后端返回pdfbase64码i兼容ie">
当前位置:   article > 正文

当后台返回是一串base64位的PDF流时,前端怎么实现另开一个窗口来展示pdf_后端返回pdfbase64码i兼容ie在前端页面展示

后端返回pdfbase64码i兼容ie在前端页面展示

html界面展示

<a target="_blank" class="xn-click-a" (click)="preview(item)">
                          打开附件
                          </a>
  • 1
  • 2
  • 3

js实现

把后台返回的流进行拼接 因为iframe 的src其实是有长度要求的,iframe的src跳转页面是get提交,get提交在浏览器中最大限制在2k以内,所以以下方法在确定知道文件地址的情况下适用,且iframe是有浏览器兼容的问题,在ie环境下不适用

 preview (){
 // parmsFiles 就是后台给你返回的一串流
   const pdf = "data:application/pdf;base64," + paramsFile;
            win.document.write('<iframe src="' + pdf + '" frameborder="0" style="border:0; top:0px; left:0px; bottom:0px; right:0px; width:100%; height:100%;"></iframe>')
 } 
  • 1
  • 2
  • 3
  • 4
  • 5

适用于各个浏览器的方法打开的一串base64的pdf流

 const base64Str = x.data.attachment;
      const blobObj = XnUtils.base64ToBlob(base64Str, 'application/pdf');
      const dataUrl = URL.createObjectURL(blobObj);
      if (window.navigator && window.navigator.msSaveOrOpenBlob) {
        window.navigator.msSaveOrOpenBlob(blobObj);
      } else {
        window.open(dataUrl);
      }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/256211?site
推荐阅读
相关标签
  

闽ICP备14008679号