pdf.js用流的方式展示pdf文件

修改viewer.js

      var DEFAULT_URL 'compressed.tracemonkey-pldi-09.pdf'  里面是PDF的路径 删除整条数据,在viewer.html中重新定义

引入Jquery

 以下代码放在viewer.html中


ajax代码部分


var DEFAULT_URL = "";//刚才删除的变量在这里重新定义  

var PDFData = "";

$.ajax({  
    type:"post",  
    async:false,  //
    mimeType: 'text/plain; charset=x-user-defined',  
    url:文件流请求地址,  
    success:function(data){  
       PDFData = data;  
    }  
});  
var rawLength = PDFData.length;  
//转换成pdf.js能直接解析的Uint8Array类型,见pdf.js-4068  
var array = new Uint8Array(new ArrayBuffer(rawLength));    
for(i = 0; i < rawLength; i++) {  
  array[i] = PDFData.charCodeAt(i) & 0xff;  
}  

DEFAULT_URL = array; 

引入<script src="viewer.js">

一定要注意以上代码要放在引入之前


java代码部分

    我是从Oracle取的blob,sql就不写了

String filePath = "temp" + File.separator ; //file存放地址,temp是tomcatbin目录下的 
String path = filePath + File.separator + name;//file的路径,name是文件的名字
File pdfFile = new File(path + File.separator + name + "pdf.pdf");
if (!pdfFile.exists()) {//判断本地文件,减少数据库压力
Blob sbrpdf = dsDeclarer.getBlob(0, "namepdf");
InputStream is = sbrpdf.getBinaryStream();
byte[] b = new byte[(int) sbrpdf.length()];
is.read(b);
is.close();//记得关闭流
RaterUserBiz.createDir(path);
FileIOUtil.writeBytesToFile(b, pdfFile);

}

                //接下来的流往哪里传输根据需求,这里不写了,有问题的话发评论我看到就会回复

你可能感兴趣的:(sql,Oracle,java,jQuery,pdf.js)