预览文件报错:Whitelabel Error Page
拉取docker镜像和运行代码
docker pull keking/kkfileview:4.1.0
docker run -it -p 8012:8012 keking/kkfileview:4.1.0
然后在cloudreve中预览时显示:
以及Java版本
这是什么原因呢,求解决!
也有这个问题
2023-08-17T08:16:56.249253174Z 2023-08-17 08:16:56.247 WARN 1 --- [tp1966250569-70] org.eclipse.jetty.server.HttpChannel : /onlinePreview 2023-08-17T08:16:56.249279786Z 2023-08-17T08:16:56.249283716Z org.springframework.web.util.NestedServletException: Request processing failed; nested exception is java.lang.StringIndexOutOfBoundsException: String index out of range: -53 2023-08-17T08:16:56.249286759Z at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) ~[spring-webmvc-5.3.3.jar!/:5.3.3] 2023-08-17T08:16:56.249289860Z at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:898) ~[spring-webmvc-5.3.3.jar!/:5.3.3] 2023-08-17T08:16:56.249292631Z at javax.servlet.http.HttpServlet.service(HttpServlet.java:497) ~[jakarta.servlet-api-4.0.4.jar!/:4.0.4] 2023-08-17T08:16:56.249295259Z at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) ~[spring-webmvc-5.3.3.jar!/:5.3.3] 2023-08-17T08:16:56.249297886Z at javax.servlet.http.HttpServlet.service(HttpServlet.java:584) ~[jakarta.servlet-api-4.0.4.jar!/:4.0.4] 2023-08-17T08:16:56.249300450Z at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:791) ~[jetty-servlet-9.4.35.v20201120.jar!/:9.4.35.v20201120]
2023-08-17T08:16:56.249501530Z Caused by: java.lang.StringIndexOutOfBoundsException: String index out of range: -53 2023-08-17T08:16:56.249504205Z at java.lang.String.substring(String.java:1967) ~[na:1.8.0_251] 2023-08-17T08:16:56.249506725Z at cn.keking.utils.WebUtils.encodeUrlFileName(WebUtils.java:142) ~[classes!/:na] 2023-08-17T08:16:56.249511320Z at cn.keking.service.FileHandlerService.getFileAttribute(FileHandlerService.java:279) ~[classes!/:na] 2023-08-17T08:16:56.249514454Z at cn.keking.web.controller.OnlinePreviewController.onlinePreview(OnlinePreviewController.java:67) ~[classes!/:na] 2023-08-17T08:16:56.249517110Z at sun.reflect.GeneratedMethodAccessor45.invoke(Unknown Source) ~[na:na] 2023-08-17T08:16:56.249519688Z at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_251] 2023-08-17T08:16:56.249522265Z at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_251]
看情况应该是url必须带有文件类型后缀,不然不行,
https://gitee.com/kekingcn/file-online-preview/wikis/pages?sort_id=1504450&doc_id=106093 文档上说明了下,url后面加个fullfilename就可以了
var originUrl = 'http://127.0.0.1:8080/filedownload?fileId=1'; //要预览文件的访问地址 var previewUrl = originUrl + '&fullfilename=test.txt' window.open('http://127.0.0.1:8012/onlinePreview?url='+encodeURIComponent(previewUrl));