Browse Source

修复:需求https://gitee.com/kekingcn/file-online-preview/issues/I14D4X,当使用nginx做代理时,配置了content-path和baseUrl时,访问view.html和getCorsFile会出现404

telami 5 năm trước cách đây
mục cha
commit
15bd035304

+ 5 - 3
jodconverter-web/src/main/resources/static/pdfjs/web/viewer.js

@@ -1886,7 +1886,7 @@ var PDFViewerApplication = {
 var validateFileURL = void 0;
 {
   var HOSTED_VIEWER_ORIGINS = ['null', 'http://mozilla.github.io', 'https://mozilla.github.io'];
-  validateFileURL = function validateFileURL(file) {
+  validateFileURL = function validateFileURL(file,base) {
     if (file === undefined) {
       return file;
     }
@@ -1897,7 +1897,7 @@ var validateFileURL = void 0;
       }
       var fileOrigin = new URL(file, window.location.href).origin;
       if (fileOrigin !== viewerOrigin) {
-        return  '/getCorsFile?urlPath=' + encodeURIComponent(file);
+        return base.endsWith('/') ? base : '/' + 'getCorsFile?urlPath=' + encodeURIComponent(file);
       }
     } catch (ex) {
       var message = ex && ex.message;
@@ -1931,10 +1931,12 @@ function loadAndEnablePDFBug(enabledTabs) {
 function webViewerInitialized() {
   var appConfig = PDFViewerApplication.appConfig;
   var file = void 0;
+  var base = void 0;
   var queryString = document.location.search.substring(1);
   var params = (0, _ui_utils.parseQueryString)(queryString);
   file = 'file' in params ? params.file : appConfig.defaultUrl;
-  file = validateFileURL(file);
+  base = 'base' in params ? params.base : appConfig.defaultUrl;
+  file = validateFileURL(file,base);
   var waitForBeforeOpening = [];
   var fileInput = document.createElement('input');
   fileInput.id = appConfig.openFileInputName;

+ 1 - 1
jodconverter-web/src/main/resources/web/pdf.ftl

@@ -28,7 +28,7 @@
 
 </body>
 <script type="text/javascript">
-    document.getElementsByTagName('iframe')[0].src = "/pdfjs/web/viewer.html?file="+encodeURIComponent('${finalUrl}');
+    document.getElementsByTagName('iframe')[0].src = "${baseUrl}pdfjs/web/viewer.html?base=${baseUrl}&file="+encodeURIComponent('${finalUrl}');
     document.getElementsByTagName('iframe')[0].height = document.documentElement.clientHeight-10;
     /**
      * 页面变化调整高度