pdf预览支持url中有中文或特殊字符

pull/9/head
陈精华 2019-05-09 15:02:02 +08:00 committed by kl
parent 67686e99f0
commit 70323b8ee3
2 changed files with 7 additions and 11 deletions

View File

@ -15,13 +15,8 @@ import org.springframework.web.bind.annotation.ResponseBody;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.io.IOException; import java.io.*;
import java.io.InputStream; import java.net.*;
import java.io.UnsupportedEncodingException;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLConnection;
import java.net.URLDecoder;
import java.util.Arrays; import java.util.Arrays;
import java.util.List; import java.util.List;
@ -98,7 +93,7 @@ public class OnlinePreviewController {
InputStream inputStream = null; InputStream inputStream = null;
try { try {
String strUrl = urlPath.trim(); String strUrl = urlPath.trim();
URL url = new URL(strUrl); URL url = new URL(new URI(strUrl).toASCIIString());
//打开请求连接 //打开请求连接
URLConnection connection = url.openConnection(); URLConnection connection = url.openConnection();
HttpURLConnection httpURLConnection = (HttpURLConnection) connection; HttpURLConnection httpURLConnection = (HttpURLConnection) connection;
@ -109,7 +104,7 @@ public class OnlinePreviewController {
while (-1 != (len = inputStream.read(bs))) { while (-1 != (len = inputStream.read(bs))) {
resp.getOutputStream().write(bs, 0, len); resp.getOutputStream().write(bs, 0, len);
} }
} catch (IOException e) { } catch (IOException | URISyntaxException e) {
e.printStackTrace(); e.printStackTrace();
} finally { } finally {
if (inputStream != null) { if (inputStream != null) {

View File

@ -12,12 +12,12 @@
</style> </style>
</head> </head>
<body> <body>
<#if pdfUrl?contains("http://")> <#if pdfUrl?contains("http://") || pdfUrl?contains("https://")>
<#assign finalUrl="${pdfUrl}"> <#assign finalUrl="${pdfUrl}">
<#else> <#else>
<#assign finalUrl="${baseUrl}${pdfUrl}"> <#assign finalUrl="${baseUrl}${pdfUrl}">
</#if> </#if>
<iframe src="/pdfjs/web/viewer.html?file=${finalUrl}" width="100%" frameborder="0"></iframe> <iframe src="" width="100%" frameborder="0"></iframe>
<#-- <img src="images/left.png" style="position: fixed; cursor: pointer; top: 40%; right: 60px; z-index: 999;" alt="使用图片预览" title="使用图片预览" onclick="goForImage()"/>--> <#-- <img src="images/left.png" style="position: fixed; cursor: pointer; top: 40%; right: 60px; z-index: 999;" alt="使用图片预览" title="使用图片预览" onclick="goForImage()"/>-->
<span class="fa fa-file-image-o fa-5x" style="position: fixed; cursor: pointer; top: 40%; right: 50px; z-index: 999;" title="使用图片预览" onclick="goForImage()"></span> <span class="fa fa-file-image-o fa-5x" style="position: fixed; cursor: pointer; top: 40%; right: 50px; z-index: 999;" title="使用图片预览" onclick="goForImage()"></span>
@ -25,6 +25,7 @@
</body> </body>
<script type="text/javascript"> <script type="text/javascript">
document.getElementsByTagName('iframe')[0].src = "/pdfjs/web/viewer.html?file="+encodeURIComponent('${finalUrl}');
document.getElementsByTagName('iframe')[0].height = document.documentElement.clientHeight-10; document.getElementsByTagName('iframe')[0].height = document.documentElement.clientHeight-10;
/** /**
* 页面变化调整高度 * 页面变化调整高度