修复:pdf.js 跨域问题

dependabot/maven/office-plugin/commons-io-commons-io-2.7
陈精华 2021-04-06 16:44:40 +08:00
parent 8f75df15e2
commit 58b1b50c2e
3 changed files with 9 additions and 8 deletions

View File

@ -30,8 +30,6 @@ public class FilterConfiguration {
Set<String> filterUri = new HashSet<>();
filterUri.add("/onlinePreview");
filterUri.add("/picturesPreview");
filterUri.add("/getCorsFile");
filterUri.add("/addTask");
TrustHostFilter filter = new TrustHostFilter();
FilterRegistrationBean registrationBean = new FilterRegistrationBean();
registrationBean.setFilter(filter);

View File

@ -2019,7 +2019,7 @@ var validateFileURL;
{
var HOSTED_VIEWER_ORIGINS = ["null", "http://mozilla.github.io", "https://mozilla.github.io"];
validateFileURL = function validateFileURL(file, base) {
validateFileURL = function validateFileURL(file) {
if (file === undefined) {
return;
}
@ -2036,7 +2036,7 @@ var validateFileURL;
protocol = _ref11.protocol;
if (origin !== viewerOrigin && protocol !== "blob:") {
return (base.endsWith('/') ? base : base + '/') + 'getCorsFile?urlPath=' + encodeURIComponent(file);
throw new Error("file origin does not match viewer's");
}
} catch (ex) {
var message = ex && ex.message;
@ -2089,14 +2089,12 @@ function loadAndEnablePDFBug(enabledTabs) {
function webViewerInitialized() {
var appConfig = PDFViewerApplication.appConfig;
var file;
var base;
var disableDownload;
var queryString = document.location.search.substring(1);
var params = (0, _ui_utils.parseQueryString)(queryString);
file = "file" in params ? params.file : _app_options.AppOptions.get("defaultUrl");
base = 'base' in params ? params.base : appConfig.defaultUrl;
disableDownload = 'disabledownload' in params ? params.disabledownload : 'false';
validateFileURL(file, base);
validateFileURL(file);
var fileInput = document.createElement("input");
fileInput.id = appConfig.openFileInputName;
fileInput.className = "fileInput";

View File

@ -21,7 +21,12 @@
</#if>
</body>
<script type="text/javascript">
document.getElementsByTagName('iframe')[0].src = "${baseUrl}pdfjs/web/viewer.html?base=${baseUrl}&file=" + encodeURIComponent('${finalUrl}') + "&disabledownload=${pdfDownloadDisable}";
var url = '${finalUrl}';
var baseUrl = '${baseUrl}'.endsWith('/') ? '${baseUrl}' : '${baseUrl}' + '/';
if (!url.startsWith(baseUrl)) {
url = baseUrl + 'getCorsFile?urlPath=' + encodeURIComponent(url);
}
document.getElementsByTagName('iframe')[0].src = "${baseUrl}pdfjs/web/viewer.html?file=" + encodeURIComponent(url) + "&disabledownload=${pdfDownloadDisable}";
document.getElementsByTagName('iframe')[0].height = document.documentElement.clientHeight - 10;
/**
*