base64转换成pdf在页面显示

byte[] bytes = base64String;  //把base64字符串转成byte数组
ByteArrayOutputStream baos = new ByteArrayOutputStream();
baos.write(bytes); //把byte写进输出流里
if(baos!= null){
                httpServletResponse.setContentType("application/pdf");
                httpServletResponse.setContentLength(baos.size());
                httpServletResponse.setHeader("Expires", "0");
                httpServletResponse.setHeader("Cache-Control", "must-revalidate, post-check=0, pre-check=0");
                httpServletResponse.setHeader("Pragma", "public");
                javax.servlet.ServletOutputStream sos = httpServletResponse.getOutputStream();
                baos.writeTo(sos); //byte输出流写入servlet输出流
                sos.flush();
                sos.close();
                baos.close();
            }
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 要在 `iframe` 中显示 `base64` 编码的 PDF 文件,需要将其换为 `Blob` 对象,然后创建一个 `object` 元素,并将其设置为 `data` URL。 以下是示例代码: ```html <iframe id="pdf-frame" width="100%" height="600"></iframe> <script> const base64ToBlob = (base64Data, contentType = '', sliceSize = 512) => { const byteCharacters = atob(base64Data); const byteArrays = []; for (let offset = 0; offset < byteCharacters.length; offset += sliceSize) { const slice = byteCharacters.slice(offset, offset + sliceSize); const byteNumbers = new Array(slice.length); for (let i = 0; i < slice.length; i++) { byteNumbers[i] = slice.charCodeAt(i); } const byteArray = new Uint8Array(byteNumbers); byteArrays.push(byteArray); } return new Blob(byteArrays, { type: contentType }); }; const pdfData = "YOUR_BASE64_ENCODED_PDF_DATA"; const blob = base64ToBlob(pdfData, 'application/pdf'); const dataUrl = URL.createObjectURL(blob); const object = document.createElement('object'); object.setAttribute('data', dataUrl); object.setAttribute('type', 'application/pdf'); object.setAttribute('width', '100%'); object.setAttribute('height', '600'); const iframe = document.getElementById('pdf-frame'); iframe.contentWindow.document.body.appendChild(object); </script> ``` 将 `YOUR_BASE64_ENCODED_PDF_DATA` 替换为实际的 `base64` 编码的 PDF 数据即可。请注意,这种方法可能会受到浏览器的安全限制。如果您遇到问题,请尝试在服务器上运行代码。 ### 回答2: 要在iframe中显示base64化为pdf的文件,你需要进行以下步骤: 1. 将base64字符串化为Blob对象: 首先,你需要使用atob方法将base64字符串化为二进制字符串。然后,你可以使用Blob构造函数将二进制字符串化为Blob对象。 2. 创建指向Blob URL的iframe: 接下来,你可以使用URL对象的createObjectURL方法创建一个指向Blob URL的链接。然后,你可以将该链接赋值给iframe的src属性,以显示pdf文件。 下面是一个示例代码: ```javascript // base64字符串 let base64Str = "base64字符串"; // 将base64字符串化为Blob对象 let binaryStr = atob(base64Str); let blob = new Blob([binaryStr], { type: 'application/pdf' }); // 创建指向Blob URL的iframe let url = URL.createObjectURL(blob); // 创建和设置iframe let iframe = document.createElement('iframe'); iframe.src = url; iframe.width = "100%"; iframe.height = "600px"; // 将iframe添加到页面中 document.body.appendChild(iframe); ``` 通过以上步骤,你就可以将base64化为pdf并在iframe中显示出来。请确保将base64字符串替换为你实际需要化的字符串。同时,确保在合适的位置添加iframe元素到页面中。 ### 回答3: 要将Base64编码的字符串化为PDF并在iframe中显示,可以按照以下步骤进行操作。 1. 首先,将Base64编码的字符串化为二进制数据。可以使用window.atob()方法将Base64字符串解码为原始字符串,然后使用Uint8Array()构造函数将原始字符串换为二进制数组。 2. 创建一个Blob对象,将二进制数据包装在其中。可以使用Blob构造函数,并将二进制数据和适当的MIME类型传递给它。 3. 创建一个URL对象,将Blob对象化为URL地址。可以使用window.URL.createObjectURL()方法,传入Blob对象并获取对应的URL地址。 4. 创建一个iframe元素,并将URL地址设置为其src属性的值。可以使用document.createElement()方法创建一个iframe元素,然后将URL地址赋值给src属性。 5. 最后,将iframe元素添加到文档中以显示PDF。可以使用appendChild()方法将iframe元素添加到文档的适当位置。 以上是将Base64化为PDF并在iframe中显示的基本步骤。根据具体的HTML结构和JavaScript代码,还可能需要做一些额外的调整和任务。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值