PDF.js + SpringBoot 路径错误

PDF.js 版本: 2.0.0

编译好的 PDF.js 代码放入 static 中,不加任何项目名能正常使用

server.servlet.path=/demo/pdfproject

加上项目名后,pdf.js 中使用相对路径互相依赖的文件会报找不到文件的错误

解决

修改 api.js 中的 getWorkerSrc() 函数

//默认实现
function getWorkerSrc() {
   if (GlobalWorkerOptions.workerSrc) {
     return GlobalWorkerOptions.workerSrc;
   }
   if (typeof workerSrc !== 'undefined') {
     return workerSrc;
   }
   if (typeof PDFJSDev !== 'undefined' &&
      PDFJSDev.test('PRODUCTION && !(MOZCENTRAL || FIREFOX)') &&
      pdfjsFilePath) {
     return pdfjsFilePath.replace(/(\.(?:min\.)?js)(\?.*)?$/i, '.worker$1$2');
   }
   throw new Error('No "GlobalWorkerOptions.workerSrc" specified.');
 }
//修改后
function getWorkerSrc() {
    return pdfjsFilePath.replace('pdf.js', 'pdf.worker.js');
}

修改后直接用绝对路劲指向 pdf.worker.js

你可能感兴趣的:(PDF.js + SpringBoot 路径错误)