kkFileView
kkFileView copied to clipboard
kkFileView-4.1.0-SNAPSHOT (master分支) 预览zip压缩包里的所有文件失败
版本: kkFileView-4.1.0-SNAPSHOT
部署方式: docker
测试一个包含 invoice.pdf 的zip包, zip包目录列表正常预览, 但是点击里面的文件报无法预览(pdf文件类型)和 301错误(docx文件).
错误日志:
2021-12-22 01:48:06.952 INFO 1 --- [p416153648-2621] c.k.w.c.OnlinePreviewController : 预览文件url:http://192.168.254.8:8013/0400e4fed5336485.zip_invoice.pdf?fileKey=0400e4fed5336485.zip,previewType:PDF
2021-12-22 01:48:06.955 ERROR 1 --- [p416153648-2621] cn.keking.service.FileHandlerService : Convert pdf to jpg exception, pdfFilePath:/opt/kkFileView-4.1.0-SNAPSHOT/file/0400e4fed5336485.zip_invoice.pdf
java.io.IOException: Error: End-of-File, expected line
at org.apache.pdfbox.pdfparser.BaseParser.readLine(BaseParser.java:1093) ~[pdfbox-2.0.24.jar!/:2.0.24]
at org.apache.pdfbox.pdfparser.COSParser.parseHeader(COSParser.java:2580) ~[pdfbox-2.0.24.jar!/:2.0.24]
at org.apache.pdfbox.pdfparser.COSParser.parsePDFHeader(COSParser.java:2551) ~[pdfbox-2.0.24.jar!/:2.0.24]
at org.apache.pdfbox.pdfparser.PDFParser.parse(PDFParser.java:219) ~[pdfbox-2.0.24.jar!/:2.0.24]
at org.apache.pdfbox.pdmodel.PDDocument.load(PDDocument.java:1105) ~[pdfbox-2.0.24.jar!/:2.0.24]
at org.apache.pdfbox.pdmodel.PDDocument.load(PDDocument.java:1088) ~[pdfbox-2.0.24.jar!/:2.0.24]
at org.apache.pdfbox.pdmodel.PDDocument.load(PDDocument.java:1047) ~[pdfbox-2.0.24.jar!/:2.0.24]
at org.apache.pdfbox.pdmodel.PDDocument.load(PDDocument.java:995) ~[pdfbox-2.0.24.jar!/:2.0.24]
at cn.keking.service.FileHandlerService.pdf2jpg(FileHandlerService.java:194) ~[classes!/:na]
at cn.keking.service.impl.PdfFilePreviewImpl.filePreviewHandle(PdfFilePreviewImpl.java:51) [classes!/:na]
at cn.keking.web.controller.OnlinePreviewController.onlinePreview(OnlinePreviewController.java:75) [classes!/:na]
at sun.reflect.GeneratedMethodAccessor38.invoke(Unknown Source) ~[na:na]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_251]
at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_251]
at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:197) [spring-web-5.3.3.jar!/:5.3.3]
at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:141) [spring-web-5.3.3.jar!/:5.3.3]
at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:106) [spring-webmvc-5.3.3.jar!/:5.3.3]
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:894) [spring-webmvc-5.3.3.jar!/:5.3.3]
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808) [spring-webmvc-5.3.3.jar!/:5.3.3]
at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) [spring-webmvc-5.3.3.jar!/:5.3.3]
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1060) [spring-webmvc-5.3.3.jar!/:5.3.3]
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:962) [spring-webmvc-5.3.3.jar!/:5.3.3]
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) [spring-webmvc-5.3.3.jar!/:5.3.3]
at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:898) [spring-webmvc-5.3.3.jar!/:5.3.3]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:497) [jakarta.servlet-api-4.0.4.jar!/:4.0.4]
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) [spring-webmvc-5.3.3.jar!/:5.3.3]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:584) [jakarta.servlet-api-4.0.4.jar!/:4.0.4]
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:791) [jetty-servlet-9.4.35.v20201120.jar!/:9.4.35.v20201120]
at org.eclipse.jetty.servlet.ServletHandler$ChainEnd.doFilter(ServletHandler.java:1626) [jetty-servlet-9.4.35.v20201120.jar!/:9.4.35.v20201120]
at org.eclipse.jetty.websocket.server.WebSocketUpgradeFilter.doFilter(WebSocketUpgradeFilter.java:228) [websocket-server-9.4.35.v20201120.jar!/:9.4.35.v20201120]
at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193) [jetty-servlet-9.4.35.v20201120.jar!/:9.4.35.v20201120]
at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601) [jetty-servlet-9.4.35.v20201120.jar!/:9.4.35.v20201120]
at cn.keking.web.filter.AttributeSetFilter.doFilter(AttributeSetFilter.java:25) [classes!/:na]
at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193) [jetty-servlet-9.4.35.v20201120.jar!/:9.4.35.v20201120]
at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601) [jetty-servlet-9.4.35.v20201120.jar!/:9.4.35.v20201120]
at cn.keking.web.filter.BaseUrlFilter.doFilter(BaseUrlFilter.java:51) [classes!/:na]
at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193) [jetty-servlet-9.4.35.v20201120.jar!/:9.4.35.v20201120]
at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601) [jetty-servlet-9.4.35.v20201120.jar!/:9.4.35.v20201120]
at cn.keking.web.filter.TrustHostFilter.doFilter(TrustHostFilter.java:47) [classes!/:na]
at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193) [jetty-servlet-9.4.35.v20201120.jar!/:9.4.35.v20201120]
at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601) [jetty-servlet-9.4.35.v20201120.jar!/:9.4.35.v20201120]
at cn.keking.web.filter.ChinesePathFilter.doFilter(ChinesePathFilter.java:21) [classes!/:na]
at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193) [jetty-servlet-9.4.35.v20201120.jar!/:9.4.35.v20201120]
at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601) [jetty-servlet-9.4.35.v20201120.jar!/:9.4.35.v20201120]
at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) [spring-web-5.3.3.jar!/:5.3.3]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) [spring-web-5.3.3.jar!/:5.3.3]
at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193) [jetty-servlet-9.4.35.v20201120.jar!/:9.4.35.v20201120]
at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601) [jetty-servlet-9.4.35.v20201120.jar!/:9.4.35.v20201120]
at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) [spring-web-5.3.3.jar!/:5.3.3]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) [spring-web-5.3.3.jar!/:5.3.3]
at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193) [jetty-servlet-9.4.35.v20201120.jar!/:9.4.35.v20201120]
at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601) [jetty-servlet-9.4.35.v20201120.jar!/:9.4.35.v20201120]
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) [spring-web-5.3.3.jar!/:5.3.3]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) [spring-web-5.3.3.jar!/:5.3.3]
at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193) [jetty-servlet-9.4.35.v20201120.jar!/:9.4.35.v20201120]
at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601) [jetty-servlet-9.4.35.v20201120.jar!/:9.4.35.v20201120]
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:548) [jetty-servlet-9.4.35.v20201120.jar!/:9.4.35.v20201120]
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143) [jetty-server-9.4.35.v20201120.jar!/:9.4.35.v20201120]
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:602) [jetty-security-9.4.35.v20201120.jar!/:9.4.35.v20201120]
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127) [jetty-server-9.4.35.v20201120.jar!/:9.4.35.v20201120]
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:235) [jetty-server-9.4.35.v20201120.jar!/:9.4.35.v20201120]
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1624) [jetty-server-9.4.35.v20201120.jar!/:9.4.35.v20201120]
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233) [jetty-server-9.4.35.v20201120.jar!/:9.4.35.v20201120]
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1435) [jetty-server-9.4.35.v20201120.jar!/:9.4.35.v20201120]
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188) [jetty-server-9.4.35.v20201120.jar!/:9.4.35.v20201120]
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:501) [jetty-servlet-9.4.35.v20201120.jar!/:9.4.35.v20201120]
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1594) [jetty-server-9.4.35.v20201120.jar!/:9.4.35.v20201120]
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186) [jetty-server-9.4.35.v20201120.jar!/:9.4.35.v20201120]
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1350) [jetty-server-9.4.35.v20201120.jar!/:9.4.35.v20201120]
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) [jetty-server-9.4.35.v20201120.jar!/:9.4.35.v20201120]
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127) [jetty-server-9.4.35.v20201120.jar!/:9.4.35.v20201120]
at org.eclipse.jetty.server.Server.handle(Server.java:516) [jetty-server-9.4.35.v20201120.jar!/:9.4.35.v20201120]
at org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:388) [jetty-server-9.4.35.v20201120.jar!/:9.4.35.v20201120]
at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:633) [jetty-server-9.4.35.v20201120.jar!/:9.4.35.v20201120]
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:380) [jetty-server-9.4.35.v20201120.jar!/:9.4.35.v20201120]
at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:273) ~[jetty-server-9.4.35.v20201120.jar!/:9.4.35.v20201120]
at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311) ~[jetty-io-9.4.35.v20201120.jar!/:9.4.35.v20201120]
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105) ~[jetty-io-9.4.35.v20201120.jar!/:9.4.35.v20201120]
at org.eclipse.jetty.io.ChannelEndPoint$1.run(ChannelEndPoint.java:104) ~[jetty-io-9.4.35.v20201120.jar!/:9.4.35.v20201120]
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:336) ~[jetty-util-9.4.35.v20201120.jar!/:9.4.35.v20201120]
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:313) ~[jetty-util-9.4.35.v20201120.jar!/:9.4.35.v20201120]
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:171) ~[jetty-util-9.4.35.v20201120.jar!/:9.4.35.v20201120]
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:129) ~[jetty-util-9.4.35.v20201120.jar!/:9.4.35.v20201120]
at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:375) ~[jetty-util-9.4.35.v20201120.jar!/:9.4.35.v20201120]
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:773) ~[jetty-util-9.4.35.v20201120.jar!/:9.4.35.v20201120]
at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:905) ~[jetty-util-9.4.35.v20201120.jar!/:9.4.35.v20201120]
at java.lang.Thread.run(Thread.java:748) ~[na:1.8.0_251]
这个问题解决了吗,我也遇到同样问题