前言
网上很多关于pdf.js预览的文章,其中不少是通过viewer.html的URL直接预览项目中的pdf文档。这种方式可以让任何人通过URL预览任何文档,不利于项目中的预览权限管控。所以我们需要预览的时候通过后端的servlet返回相应的文档流。
解决方法
方案一
通过后端返回pdf文档的二进制流pdfStream,然后前端将pdfStream转为bolb,接着生成bolb相应的URL,最后将URL赋予viewer.html就行。下面贴代码:
function showPdf(servletUrl) {
$.ajax({
type: "post",
async: false,
url: servletUrl,
success: function (data) {
var binaryData = [];
binaryData.push(data);
this.url = window.URL.createObjectURL(new Blob(binaryData, {
type:

本文探讨了如何使用PDF.js、Servlet和Ajax避免直接通过URL预览PDF文档,以增强权限控制。文章介绍了两种解决方案:方案一是后端返回二进制流,前端转换为Blob预览,但遇到编码问题;方案二是后端返回Base64格式的文档流,前端通过base64toBlob方法解析。最终,虽然成功实现预览,但未能实现懒加载。
最低0.47元/天 解锁文章
7332

被折叠的 条评论
为什么被折叠?



