kekingcn / kkFileView

Universal File Online Preview Project based on Spring-Boot
https://kkview.cn
10.59k stars 2.7k forks source link

不定期500问题,重启后能正常使用 #587

Open 4GUO opened 1 month ago

4GUO commented 1 month ago

version : kkFileView 3.5

config :

#######################################不可动态配置,需要重启生效#######################################
server.port = ${KK_SERVER_PORT:8012}
server.servlet.context-path= ${KK_CONTEXT_PATH:/ts-preview}
server.servlet.encoding.charset = utf-8
#文件上传限制
spring.servlet.multipart.max-file-size=500MB
spring.servlet.multipart.max-request-size=500MB
## Freemarker 配置
spring.freemarker.template-loader-path = classpath:/web/
spring.freemarker.cache = false
spring.freemarker.charset = UTF-8
spring.freemarker.check-template-location = true
spring.freemarker.content-type = text/html
spring.freemarker.expose-request-attributes = true
spring.freemarker.expose-session-attributes = true
spring.freemarker.request-context-attribute = request
spring.freemarker.suffix = .ftl

# office-plugin
## office转换服务的进程数,默认开启两个进程 2001,2002,2003,2004,2005,2006,2007,2008
office.plugin.server.ports = 2001,2002
## office 转换服务 task 超时时间,默认五分钟
office.plugin.task.timeout = 5m

#文件资源路径(默认为打包根路径下的file目录下)
#file.dir = D:\\kkFileview\\
file.dir = ${KK_FILE_DIR:default}
#openoffice home路径
office.home = C:\\Program Files\\LibreOffice
#office.home = ${KK_OFFICE_HOME:default}
#office.home = /opt/libreoffice7.1
#缓存实现类型,不配默认为内嵌RocksDB(type = default)实现,可配置为redis(type = redis)实现(需要配置spring.redisson.address等参数)和 JDK 内置对象实现(type = jdk),
#cache.type =  ${KK_CACHE_TYPE:jdk}
cache.type= ${KK_CACHE_TYPE:redis}
#redis连接,只有当cache.type = redis时才有用
spring.redisson.address = ${KK_SPRING_REDISSON_ADDRESS:127.0.0.1:6379}
spring.redisson.password = ${KK_SPRING_REDISSON_PASSWORD:123456}
#缓存是否自动清理 true 为开启,注释掉或其他值都为关闭
cache.clean.enabled = ${KK_CACHE_CLEAN_ENABLED:false}
#缓存自动清理时间,cache.clean.enabled = true时才有用,cron表达式,基于Quartz cron
cache.clean.cron = ${KK_CACHE_CLEAN_CRON:0 0 3 * * ?}

#######################################可在运行时动态配置#######################################
#提供预览服务的地址,默认从请求url读,如果使用nginx等反向代理,需要手动设置
#base.url = https://file.keking.cn
base.url = ${KK_BASE_URL:default}

#信任站点,多个用','隔开,设置了之后,会限制只能预览来自信任站点列表的文件,默认不限制
#trust.host = file.keking.cn,kkfileview.keking.cn
trust.host = ${KK_TRUST_HOST:default}

#是否启用缓存
cache.enabled = ${KK_CACHE_ENABLED:true}

#文本类型,默认如下,可自定义添加
simText = ${KK_SIMTEXT:txt,html,htm,asp,jsp,xml,json,properties,md,gitignore,log,java,py,c,cpp,sql,sh,bat,m,bas,prg,cmd}
#多媒体类型,默认如下,可自定义添加
media = ${KK_MEDIA:mp3,wav,mp4,flv}
#office类型文档(word ppt)样式,默认为图片(image),可配置为pdf(预览时也有按钮切换)
office.preview.type = ${KK_OFFICE_PREVIEW_TYPE:pdf}
#是否关闭office预览切换开关,默认为false,可配置为true关闭
office.preview.switch.disabled = ${KK_OFFICE_PREVIEW_SWITCH_DISABLED:false}

#是否禁止下载转换生成的pdf文件
pdf.download.disable = ${KK_PDF_DOWNLOAD_DISABLE:true}

#预览源为FTP时 FTP用户名,可在ftp url后面加参数ftp.username=ftpuser指定,不指定默认用配置的
ftp.username = ${KK_FTP_USERNAME:ftpuser}
#预览源为FTP时 FTP密码,可在ftp url后面加参数ftp.password=123456指定,不指定默认用配置的
ftp.password = ${KK_FTP_PASSWORD:123456}
#预览源为FTP时, FTP连接默认ControlEncoding(根据FTP服务器操作系统选择,Linux一般为UTF-8,Windows一般为GBK),可在ftp url后面加参数ftp.control.encoding=UTF-8指定,不指定默认用配置的
ftp.control.encoding = ${KK_FTP_CONTROL_ENCODING:UTF-8}

#水印内容
#例:watermark.txt = ${WATERMARK_TXT:凯京科技内部文件,严禁外泄}
#如需取消水印,内容设置为空即可,例:watermark.txt = ${WATERMARK_TXT:}
watermark.txt = ${WATERMARK_TXT:}
#水印x轴间隔
watermark.x.space = ${WATERMARK_X_SPACE:10}
#水印y轴间隔
watermark.y.space = ${WATERMARK_Y_SPACE:10}
#水印字体
watermark.font = ${WATERMARK_FONT:微软雅黑}
#水印字体大小
watermark.fontsize = ${WATERMARK_FONTSIZE:18px}
#水印字体颜色
watermark.color = ${WATERMARK_COLOR:black}
#水印透明度,要求设置在大于等于0.005,小于1
watermark.alpha = ${WATERMARK_ALPHA:0.2}
#水印宽度
watermark.width = ${WATERMARK_WIDTH:180}
#水印高度
watermark.height = ${WATERMARK_HEIGHT:80}
#水印倾斜度数,要求设置在大于等于0,小于90
watermark.angle = ${WATERMARK_ANGLE:10}

startup bat :
@echo off
set "KKFILEVIEW_BIN_FOLDER=%cd%"
cd "%KKFILEVIEW_BIN_FOLDER%"
echo Using KKFILEVIEW_BIN_FOLDER %KKFILEVIEW_BIN_FOLDER%
echo Starting kkFileView...
echo Please check log file in ../log/kkFileView.log for more information
echo You can get help in our official homesite: https://kkFileView.keking.cn
echo If this project is helpful to you, please star it on https://gitee.com/kekingcn/file-online-preview/stargazers
java -Dfile.encoding=UTF-8 -Dspring.config.location=..\config\application.properties -jar -Xms1024m -Xmx4096m kkFileView-3.5.jar -> ..\log\kkFileView.log

exception :

2024-09-03 10:25:06.318  INFO 25676 --- [p831236296-2542] c.k.w.c.OnlinePreviewController          : onlinePreview-预览文件 转码前:aHR0cDovLzEyNy4wLjAuMTo5MDA0L3RzLWRvY3VtZW50L2F0dGFjaG1lbnQvZG93bmxvYWRGaWxlLzgxMjI0OTYxMDM4NDU4ODgwMD9mdWxsZmlsZW5hbWU9ODEyMjQ5NjEwMzg0NTg4ODAwLnBkZg==
2024-09-03 10:25:06.318  INFO 25676 --- [p831236296-2542] c.k.w.c.OnlinePreviewController          : onlinePreview-预览文件 转码后:http://127.0.0.1:4444/ts-document/attachment/downloadFile/812249610384588800?fullfilename=812249610384588800.pdf
2024-09-03 10:25:06.318  INFO 25676 --- [p831236296-2542] c.k.w.c.OnlinePreviewController          : onlinePreview-预览文件,使用ts-oa服务 转码后:http://127.0.0.1:5555/ts-oa/attachment/downloadFile/812249610384588800?fullfilename=812249610384588800.pdf
2024-09-03 10:25:06.318  INFO 25676 --- [p831236296-2542] cn.keking.service.FileHandlerService     : 获取到的cookies[Ljavax.servlet.http.Cookie;@748d1d97
2024-09-03 10:25:06.318  INFO 25676 --- [p831236296-2542] cn.keking.service.FileHandlerService     : 获取到的THPMSCookie51ab5b2f-0132-4152-81ee-2ffefe68c77b
2024-09-03 10:25:06.318  INFO 25676 --- [p831236296-2542] c.k.w.c.OnlinePreviewController          : 预览文件url:http://127.0.0.1:5555/ts-oa/attachment/downloadFile/812249610384588800?fullfilename=812249610384588800.pdf,previewType:PDF
2024-09-03 10:25:06.319  INFO 25676 --- [p831236296-2542] cn.keking.utils.DownloadUtils            : 请求附件时的token:51ab5b2f-0132-4152-81ee-2ffefe68c77b
2024-09-03 10:25:19.676  INFO 25676 --- [p831236296-2530] c.k.w.c.OnlinePreviewController          : onlinePreview-预览文件 转码前:aHR0cDovLzEyNy4wLjAuMTo5MDA0L3RzLWRvY3VtZW50L2F0dGFjaG1lbnQvZG93bmxvYWRGaWxlLzgxMjUwMjQ0NzUzODU4NTYwMD9mdWxsZmlsZW5hbWU9ODEyNTAyNDQ3NTM4NTg1NjAwLmRvYw==
2024-09-03 10:25:19.676  INFO 25676 --- [p831236296-2530] c.k.w.c.OnlinePreviewController          : onlinePreview-预览文件 转码后:http://127.0.0.1:4444/ts-document/attachment/downloadFile/812502447538585600?fullfilename=812502447538585600.doc
2024-09-03 10:25:19.676  INFO 25676 --- [p831236296-2530] c.k.w.c.OnlinePreviewController          : onlinePreview-预览文件,使用ts-oa服务 转码后:http://127.0.0.1:5555/ts-oa/attachment/downloadFile/812502447538585600?fullfilename=812502447538585600.doc
2024-09-03 10:25:19.676  INFO 25676 --- [p831236296-2530] cn.keking.service.FileHandlerService     : 获取到的cookies[Ljavax.servlet.http.Cookie;@74a1802e
2024-09-03 10:25:19.676  INFO 25676 --- [p831236296-2530] cn.keking.service.FileHandlerService     : 获取到的THPMSCookie51ab5b2f-0132-4152-81ee-2ffefe68c77b
2024-09-03 10:25:19.676  INFO 25676 --- [p831236296-2530] c.k.w.c.OnlinePreviewController          : 预览文件url:http://127.0.0.1:5555/ts-oa/attachment/downloadFile/812502447538585600?fullfilename=812502447538585600.doc,previewType:OFFICE
2024-09-03 10:25:19.676  INFO 25676 --- [p831236296-2530] cn.keking.utils.DownloadUtils            : 请求附件时的token:51ab5b2f-0132-4152-81ee-2ffefe68c77b
2024-09-03 10:25:19.814  WARN 25676 --- [p831236296-2530] org.eclipse.jetty.server.HttpChannel     : /ts-preview/onlinePreview

org.springframework.web.util.NestedServletException: Request processing failed; nested exception is org.artofsolving.jodconverter.office.OfficeException: could not store document: 812502447538585600.pdf
    at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) ~[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_161]
Caused by: org.artofsolving.jodconverter.office.OfficeException: could not store document: 812502447538585600.pdf
    at org.artofsolving.jodconverter.AbstractConversionTask.storeDocument(AbstractConversionTask.java:121) ~[office-plugin-4.1.0-SNAPSHOT.jar!/:na]
    at org.artofsolving.jodconverter.AbstractConversionTask.execute(AbstractConversionTask.java:55) ~[office-plugin-4.1.0-SNAPSHOT.jar!/:na]
    at org.artofsolving.jodconverter.office.PooledOfficeManager$2.run(PooledOfficeManager.java:75) ~[office-plugin-4.1.0-SNAPSHOT.jar!/:na]
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[na:1.8.0_161]
    at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[na:1.8.0_161]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) ~[na:1.8.0_161]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) ~[na:1.8.0_161]
    ... 1 common frames omitted
Caused by: com.sun.star.io.IOException: SfxBaseModel::impl_store <file:///D:/xxxx/kkFileView-4.3.0/file/812502447538585600.pdf> failed: 0xc10(Error Area:Io Class:Write Code:16)
    at com.sun.star.lib.uno.environments.remote.Job.remoteUnoRequestRaisedException(Job.java:177) ~[jurt-3.2.1.jar!/:na]
    at com.sun.star.lib.uno.environments.remote.Job.execute(Job.java:143) ~[jurt-3.2.1.jar!/:na]
    at com.sun.star.lib.uno.environments.remote.JobQueue.enter(JobQueue.java:335) ~[jurt-3.2.1.jar!/:na]
    at com.sun.star.lib.uno.environments.remote.JobQueue.enter(JobQueue.java:304) ~[jurt-3.2.1.jar!/:na]
    at com.sun.star.lib.uno.environments.remote.JavaThreadPool.enter(JavaThreadPool.java:91) ~[jurt-3.2.1.jar!/:na]
    at com.sun.star.lib.uno.bridges.java_remote.java_remote_bridge.sendRequest(java_remote_bridge.java:639) ~[jurt-3.2.1.jar!/:na]
    at com.sun.star.lib.uno.bridges.java_remote.ProxyFactory$Handler.request(ProxyFactory.java:151) ~[jurt-3.2.1.jar!/:na]
    at com.sun.star.lib.uno.bridges.java_remote.ProxyFactory$Handler.invoke(ProxyFactory.java:133) ~[jurt-3.2.1.jar!/:na]
    at com.sun.proxy.$Proxy78.storeToURL(Unknown Source) ~[na:na]
    at org.artofsolving.jodconverter.AbstractConversionTask.storeDocument(AbstractConversionTask.java:117) ~[office-plugin-4.1.0-SNAPSHOT.jar!/:na]
    ... 7 common frames omitted

2024-09-03 10:25:39.377  INFO 25676 --- [p831236296-2507] c.k.w.c.OnlinePreviewController          : onlinePreview-预览文件 转码前:aHR0cDovLzEyNy4wLjAuMTo5MDA0L3RzLWRvY3VtZW50L2F0dGFjaG1lbnQvZG93bmxvYWRGaWxlLzc5MzM2NTgzMzQxMTUzODk0ND9mdWxsZmlsZW5hbWU9NzkzMzY1ODMzNDExNTM4OTQ0LnBkZg==
2024-09-03 10:25:39.377  INFO 25676 --- [p831236296-2507] c.k.w.c.OnlinePreviewController          : onlinePreview-预览文件 转码后:http://127.0.0.1:4444/ts-document/attachment/downloadFile/793365833411538944?fullfilename=793365833411538944.pdf
2024-09-03 10:25:39.377  INFO 25676 --- [p831236296-2507] c.k.w.c.OnlinePreviewController          : onlinePreview-预览文件,使用ts-oa服务 转码后:http://127.0.0.1:5555/ts-oa/attachment/downloadFile/793365833411538944?fullfilename=793365833411538944.pdf
2024-09-03 10:25:39.377  INFO 25676 --- [p831236296-2507] cn.keking.service.FileHandlerService     : 获取到的cookies[Ljavax.servlet.http.Cookie;@6630e0d4
2024-09-03 10:25:39.377  INFO 25676 --- [p831236296-2507] cn.keking.service.FileHandlerService     : 获取到的THPMSCookiebfc25067-b0e1-4a62-9c37-3fcf125d000a
2024-09-03 10:25:39.377  INFO 25676 --- [p831236296-2507] c.k.w.c.OnlinePreviewController          : 预览文件url:http://127.0.0.1:5555/ts-oa/attachment/downloadFile/793365833411538944?fullfilename=793365833411538944.pdf,previewType:PDF
2024-09-03 10:26:15.496  INFO 25676 --- [p831236296-2537] c.k.w.c.OnlinePreviewController          : onlinePreview-预览文件 转码前:aHR0cDovLzEyNy4wLjAuMTo5MDA0L3RzLWRvY3VtZW50L2F0dGFjaG1lbnQvZG93bmxvYWRGaWxlLzgxMjUwMjQ0NzUzODU4NTYwMD9mdWxsZmlsZW5hbWU9ODEyNTAyNDQ3NTM4NTg1NjAwLmRvYw==
2024-09-03 10:26:15.496  INFO 25676 --- [p831236296-2537] c.k.w.c.OnlinePreviewController          : onlinePreview-预览文件 转码后:http://127.0.0.1:4444/ts-document/attachment/downloadFile/812502447538585600?fullfilename=812502447538585600.doc
2024-09-03 10:26:15.496  INFO 25676 --- [p831236296-2537] c.k.w.c.OnlinePreviewController          : onlinePreview-预览文件,使用ts-oa服务 转码后:http://127.0.0.1:5555/ts-oa/attachment/downloadFile/812502447538585600?fullfilename=812502447538585600.doc
2024-09-03 10:26:15.496  INFO 25676 --- [p831236296-2537] cn.keking.service.FileHandlerService     : 获取到的cookies[Ljavax.servlet.http.Cookie;@66dc7a1
2024-09-03 10:26:15.496  INFO 25676 --- [p831236296-2537] cn.keking.service.FileHandlerService     : 获取到的THPMSCookie51ab5b2f-0132-4152-81ee-2ffefe68c77b
2024-09-03 10:26:15.496  INFO 25676 --- [p831236296-2537] c.k.w.c.OnlinePreviewController          : 预览文件url:http://127.0.0.1:5555/ts-oa/attachment/downloadFile/812502447538585600?fullfilename=812502447538585600.doc,previewType:OFFICE
2024-09-03 10:26:15.496  INFO 25676 --- [p831236296-2537] cn.keking.utils.DownloadUtils            : 请求附件时的token:51ab5b2f-0132-4152-81ee-2ffefe68c77b
2024-09-03 10:26:15.634  WARN 25676 --- [p831236296-2537] org.eclipse.jetty.server.HttpChannel     : /ts-preview/onlinePreview

org.springframework.web.util.NestedServletException: Request processing failed; nested exception is org.artofsolving.jodconverter.office.OfficeException: could not store document: 812502447538585600.pdf
    at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) ~[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_161]
Caused by: org.artofsolving.jodconverter.office.OfficeException: could not store document: 812502447538585600.pdf
    at org.artofsolving.jodconverter.AbstractConversionTask.storeDocument(AbstractConversionTask.java:121) ~[office-plugin-4.1.0-SNAPSHOT.jar!/:na]
    at org.artofsolving.jodconverter.AbstractConversionTask.execute(AbstractConversionTask.java:55) ~[office-plugin-4.1.0-SNAPSHOT.jar!/:na]
    at org.artofsolving.jodconverter.office.PooledOfficeManager$2.run(PooledOfficeManager.java:75) ~[office-plugin-4.1.0-SNAPSHOT.jar!/:na]
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[na:1.8.0_161]
    at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[na:1.8.0_161]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) ~[na:1.8.0_161]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) ~[na:1.8.0_161]
    ... 1 common frames omitted
Caused by: com.sun.star.io.IOException: SfxBaseModel::impl_store <file:///D:/xxxx/kkFileView-4.3.0/file/812502447538585600.pdf> failed: 0xc10(Error Area:Io Class:Write Code:16)
    at com.sun.star.lib.uno.environments.remote.Job.remoteUnoRequestRaisedException(Job.java:177) ~[jurt-3.2.1.jar!/:na]
    at com.sun.star.lib.uno.environments.remote.Job.execute(Job.java:143) ~[jurt-3.2.1.jar!/:na]
    at com.sun.star.lib.uno.environments.remote.JobQueue.enter(JobQueue.java:335) ~[jurt-3.2.1.jar!/:na]
    at com.sun.star.lib.uno.environments.remote.JobQueue.enter(JobQueue.java:304) ~[jurt-3.2.1.jar!/:na]
    at com.sun.star.lib.uno.environments.remote.JavaThreadPool.enter(JavaThreadPool.java:91) ~[jurt-3.2.1.jar!/:na]
    at com.sun.star.lib.uno.bridges.java_remote.java_remote_bridge.sendRequest(java_remote_bridge.java:639) ~[jurt-3.2.1.jar!/:na]
    at com.sun.star.lib.uno.bridges.java_remote.ProxyFactory$Handler.request(ProxyFactory.java:151) ~[jurt-3.2.1.jar!/:na]
    at com.sun.star.lib.uno.bridges.java_remote.ProxyFactory$Handler.invoke(ProxyFactory.java:133) ~[jurt-3.2.1.jar!/:na]
    at com.sun.proxy.$Proxy78.storeToURL(Unknown Source) ~[na:na]
    at org.artofsolving.jodconverter.AbstractConversionTask.storeDocument(AbstractConversionTask.java:117) ~[office-plugin-4.1.0-SNAPSHOT.jar!/:na]
    ... 7 common frames omitted