PDF.js读取远程服务器文件

本文介绍如何利用PDF.js库在前端从远程服务器读取并显示PDF文件。后台代码涉及文件获取,前端页面则展示加载过程和技术实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 后台代码:

WebUtils.getRequest().setCharacterEncoding("utf-8");
			WebUtils.getResponse().setCharacterEncoding("utf-8");
			
			InputStream fis=null;
			URL url = new URL(filePath);
			URLConnection connection = url.openConnection();
			
			HttpURLConnection conn=(HttpURLConnection) connection;
            conn.setConnectTimeout(20000);
            conn.setReadTimeout(20000);
            conn.connect();
            WebUtils.getResponse().setContentType("application/pdf");
    		ServletOutputStream sos=WebUtils.getResponse().getOutputStream();
    		fis=conn.getInputStream();
    		int b;
    		while((b=fis.read())!=-1){
    			sos.write(b);
    		}
    		sos.close(); 
    		fis.close();

 前端页面:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jstl/core_rt" prefix="c" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>合同预览</title>
    
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">
	<!--
	<link rel="stylesheet" type="text/css" href="styles.css">
	-->

  </head>
  
  <body>
    <%-- <iframe src="<c:url value="/manager/js/pdfjs/generic/web/viewer.html" />?file=<c:url value="/contract/preview.action" />" width="100%" height="100%"></iframe> --%>
  	 <iframe id="displayPdfIframe" width="100%" height="100%"></iframe>
  </body>
  <script src="${appPath}/static/js/jquery/jquery-2.1.1.min.js"></script>
  <script type="text/javascript">
    $(function() {
				$("#displayPdfIframe")
						.attr(
								"src",
								'<c:url value="/static/pdfjs/generic/web/viewer.html" />?file='
										+ encodeURIComponent('<c:url value="/contract/previewFile.do?contract_number=${contract_number}&sw_pdf_url=${sw_pdf_url}&zg_pdf_url=${zg_pdf_url}"/>'));
			});
  </script>
</html>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值