mirror of
https://gitee.com/kekingcn/file-online-preview.git
synced 2026-04-11 18:47:23 +00:00
优化多线程转换方法 添加异步转换提示
This commit is contained in:
@@ -1,18 +1,12 @@
|
||||
#######################################不可动态配置,需要重启生效#######################################
|
||||
####################################### 一、服务器基础配置(不可动态配置,需重启生效)#######################################
|
||||
server.port = ${KK_SERVER_PORT:8012}
|
||||
server.servlet.context-path= ${KK_CONTEXT_PATH:/}
|
||||
server.servlet.context-path = ${KK_CONTEXT_PATH:/}
|
||||
server.servlet.encoding.charset = utf-8
|
||||
#启用GZIP压缩功能
|
||||
server.compression.enabled = true
|
||||
#允许压缩的响应缓冲区最小字节数,默认2048
|
||||
server.compression.min-response-size = 2048
|
||||
#压缩格式
|
||||
server.compression.mime-types=application/javascript,text/css,application/json,application/xml,text/html,text/xml,text/plain,font/woff,application/font-woff,font/eot,image/svg+xml,image/x-icon
|
||||
# 文件上传限制前端
|
||||
spring.servlet.multipart.max-file-size=500MB
|
||||
#文件上传限制
|
||||
spring.servlet.multipart.max-request-size=500MB
|
||||
## Freemarker 配置
|
||||
server.compression.mime-types = application/javascript,text/css,application/json,application/xml,text/html,text/xml,text/plain,font/woff,application/font-woff,font/eot,image/svg+xml,image/x-icon
|
||||
spring.servlet.multipart.max-file-size = 500MB
|
||||
spring.servlet.multipart.max-request-size = 500MB
|
||||
spring.freemarker.template-loader-path = classpath:/web/
|
||||
spring.freemarker.cache = false
|
||||
spring.freemarker.charset = UTF-8
|
||||
@@ -22,226 +16,119 @@ spring.freemarker.expose-request-attributes = true
|
||||
spring.freemarker.expose-session-attributes = true
|
||||
spring.freemarker.request-context-attribute = request
|
||||
spring.freemarker.suffix = .ftl
|
||||
# Spring Boot Actuator 健康检查配置
|
||||
# 开启健康检查端点
|
||||
management.endpoints.web.exposure.include=health,info,metrics
|
||||
# 显示详细的健康检查信息(生产环境建议设置为when-authorized)
|
||||
management.endpoint.health.show-details=always
|
||||
# 启用健康检查组件
|
||||
management.health.defaults.enabled=true
|
||||
management.endpoints.web.exposure.include = health,info,metrics
|
||||
management.endpoint.health.show-details = always
|
||||
management.health.defaults.enabled = true
|
||||
|
||||
|
||||
# office设置
|
||||
#openoffice或LibreOffice home路径
|
||||
#office.home = C:\\Program Files (x86)\\OpenOffice 4
|
||||
####################################### 二、Office文档处理配置(部分支持动态配置)#######################################
|
||||
office.home = ${KK_OFFICE_HOME:default}
|
||||
## office转换服务的端口,默认开启两个进程
|
||||
office.plugin.server.ports = 2001,2002
|
||||
## office 转换服务 task 超时时间,默认五分钟
|
||||
office.plugin.task.timeout = 5m
|
||||
#此属性设置office进程在重新启动之前可以执行的最大任务数。0表示无限数量的任务(永远不会重新启动)
|
||||
office.plugin.task.maxtasksperprocess = 200
|
||||
#此属性设置处理任务所允许的最长时间。如果任务的处理时间长于此超时,则此任务将中止,并处理下一个任务。
|
||||
office.plugin.task.taskexecutiontimeout = 5m
|
||||
#生成限制 默认不限制 使用方法 (1-5)
|
||||
office.pagerange = ${KK_OFFICE_PAGERANGE:false}
|
||||
#生成水印 默认不启用 使用方法 (kkFileView)
|
||||
office.watermark = ${KK_OFFICE_WATERMARK:false}
|
||||
#OFFICE JPEG图片压缩
|
||||
office.watermark = ${KK_OFFICE_WATERMARK:false}
|
||||
office.quality = ${KK_OFFICE_QUALITY:80}
|
||||
#图像分辨率限制
|
||||
office.maximageresolution = ${KK_OFFICE_MAXIMAGERESOLUTION:150}
|
||||
#导出书签
|
||||
office.exportbookmarks = ${KK_OFFICE_EXPORTBOOKMARKS:true}
|
||||
#批注作为PDF的注释
|
||||
office.exportnotes = ${KK_OFFICE_EXPORTNOTES:true}
|
||||
#加密文档 生成的PDF文档 添加密码(密码为加密文档的密码)
|
||||
office.documentopenpasswords = ${KK_OFFICE_DOCUMENTOPENPASSWORD:true}
|
||||
#xlsx格式前端解析
|
||||
office.type.web = ${KK_OFFICE_TYPE_WEB:web}
|
||||
|
||||
|
||||
# 其他核心设置
|
||||
#预览生成资源路径(默认为打包根路径下的file目录下)
|
||||
#file.dir = D:\\kkFileview\\
|
||||
####################################### 三、文件存储与缓存配置 #######################################
|
||||
file.dir = ${KK_FILE_DIR:default}
|
||||
#允许预览的本地文件夹 默认不允许任何本地文件被预览
|
||||
#WINDOWS参考 local.preview.dir = \D:\\kkFileview\\1\\1.txt (注意前面必须添加反斜杠)
|
||||
#LINUX参考 local.preview.dir = /opt/1.txt (注意前面必须是正斜杠)
|
||||
#使用方法 windows file://d:/1/1.txt linux file:/opt/1/1.txt
|
||||
#file 协议参考:https://datatracker.ietf.org/doc/html/rfc8089
|
||||
local.preview.dir = ${KK_LOCAL_PREVIEW_DIR:default}
|
||||
#是否启用缓存
|
||||
cache.enabled = ${KK_CACHE_ENABLED:true}
|
||||
#缓存实现类型,不配默认为内嵌RocksDB(type = default)实现,可配置为redis(type = redis)实现(需要配置spring.redisson.address等参数)和 JDK 内置对象实现(type = jdk),
|
||||
cache.type = ${KK_CACHE_TYPE:jdk}
|
||||
#redis 连接,只有当cache.type = redis时才有用
|
||||
# single: 单机模式
|
||||
# address: redis://localhost:6379
|
||||
# cluster: 集群模式
|
||||
# 每个节点逗号分隔,同时每个节点前必须以redis://开头。
|
||||
# address: redis://localhost:6379,redis://localhost:6378,...
|
||||
# sentinel: 哨兵模式
|
||||
# 每个节点逗号分隔,同时每个节点前必须以redis://开头。
|
||||
# address: redis://localhost:6379,redis://localhost:6378,...
|
||||
# master-slave: 主从模式
|
||||
# 每个节点逗号分隔,第一个为主节点,其余为从节点。同时每个节点前必须以redis://开头。
|
||||
# address: redis://localhost:6379,redis://localhost:6378,...
|
||||
cache.type = ${KK_CACHE_TYPE:jdk}
|
||||
spring.redisson.mode = single
|
||||
spring.redisson.address = ${KK_SPRING_REDISSON_ADDRESS:redis://127.0.0.1:6379}
|
||||
spring.redisson.password = ${KK_SPRING_REDISSON_PASSWORD:}
|
||||
#redis 设置库
|
||||
spring.redisson.database = ${KK_SPRING_REDISSON_DATABASE:0}
|
||||
#哨兵模式 打开 masterName设置
|
||||
#spring.redisson.masterName = kkfile
|
||||
#缓存是否自动清理 true 为开启,注释掉或其他值都为关闭
|
||||
cache.clean.enabled = ${KK_CACHE_CLEAN_ENABLED:true}
|
||||
#缓存自动清理时间,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}
|
||||
|
||||
# ========== 安全配置(重要)==========
|
||||
# 信任站点白名单配置,多个用','隔开
|
||||
# ⚠️ 安全提示:为防止SSRF攻击,强烈建议配置信任主机白名单
|
||||
# ⚠️ 如果不配置,系统将默认拒绝所有外部文件预览请求
|
||||
#
|
||||
# 配置示例:
|
||||
# trust.host = kkview.cn,yourdomain.com,cdn.example.com
|
||||
#
|
||||
# 如果需要允许所有域名(不推荐,仅用于测试环境),请设置为:
|
||||
# trust.host = *
|
||||
#
|
||||
# 当前配置:
|
||||
trust.host = *
|
||||
|
||||
# 不信任站点黑名单配置,多个用','隔开
|
||||
# 黑名单优先级高于白名单,设置后将禁止预览来自这些站点的文件
|
||||
# 建议配置:禁止访问内网地址和本地地址
|
||||
# not.trust.host = localhost,127.0.0.1,0.0.0.0,192.168.*,10.*,172.16.*
|
||||
not.trust.host= ${KK_NOT_TRUST_HOST:default}
|
||||
#文本类型,默认如下,可自定义添加
|
||||
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}
|
||||
|
||||
|
||||
#FTP模块设置
|
||||
#预览源为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}
|
||||
|
||||
#视频设置
|
||||
#多媒体类型,默认如下,可自定义添加
|
||||
media = ${KK_MEDIA:mp3,wav,mp4,flv,mpd,m3u8,ts,mpeg,m4a}
|
||||
#是否开启多媒体类型转视频格式转换,目前可转换视频格式有:avi,mov,wmv,3gp,rm
|
||||
#请谨慎开启此功能,建议异步调用添加到处理队列,并且增加任务队列处理线程,防止视频转换占用完线程资源,转换比较耗费时间,并且控制了只能串行处理转换任务
|
||||
media.convert.disable = ${KK_MEDIA_CONVERT_DISABLE:true}
|
||||
#支持转换的视频类型
|
||||
convertMedias = ${KK_CONVERTMEDIAS:avi,mov,wmv,mkv,3gp,rm,mpeg}
|
||||
|
||||
|
||||
|
||||
#PDF预览模块设置
|
||||
#配置PDF文件生成图片的像素大小,dpi 越高,图片质量越清晰,同时也会消耗更多的计算资源。
|
||||
pdf2jpg.dpi = ${KK_PDF2JPG_DPI:144}
|
||||
#PDF转换超时设置 (低于50页) 温馨提示这里数字仅供参考
|
||||
pdf.timeout =${KK_pdf_TIMEOUT:90}
|
||||
#PDF转换超时设置 (高于50小于200页)
|
||||
pdf.timeout80 =${KK_PDF_TIMEOUT80:180}
|
||||
#PDF转换超时设置 (大于200页)
|
||||
pdf.timeout200 =${KK_PDF_TIMEOUT200:300}
|
||||
#PDF转换线程设置
|
||||
pdf.thread =${KK_PDF_THREAD:5}
|
||||
#是否禁止演示模式
|
||||
pdf.presentationMode.disable = ${KK_PDF_PRESENTATION_MODE_DISABLE:true}
|
||||
#是否禁止打开文件
|
||||
pdf.openFile.disable = ${KK_PDF_OPEN_FILE_DISABLE:true}
|
||||
#是否禁止打印转换生成的pdf文件
|
||||
pdf.print.disable = ${KK_PDF_PRINT_DISABLE:true}
|
||||
#是否禁止下载转换生成的pdf文件
|
||||
pdf.download.disable = ${KK_PDF_DOWNLOAD_DISABLE:true}
|
||||
#是否禁止bookmark
|
||||
pdf.bookmark.disable = ${KK_PDF_BOOKMARK_DISABLE:true}
|
||||
#是否禁止签名
|
||||
pdf.disable.editing = ${KK_PDF_DISABLE_EDITING:false}
|
||||
#office类型文档(word ppt)样式,默认为图片(image),可配置为pdf(预览时也有按钮切换)
|
||||
office.preview.type = ${KK_OFFICE_PREVIEW_TYPE:image}
|
||||
#是否关闭office预览切换开关,默认为false,可配置为true关闭
|
||||
office.preview.switch.disabled = ${KK_OFFICE_PREVIEW_SWITCH_DISABLED:false}
|
||||
|
||||
|
||||
#水印内容
|
||||
#例: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}
|
||||
|
||||
#首页功能设置
|
||||
#是否禁用首页文件上传
|
||||
file.upload.disable = false
|
||||
# 备案信息,默认为空
|
||||
beian = ${KK_BEIAN:default}
|
||||
#禁止上传类型
|
||||
not.trust.host = ${KK_NOT_TRUST_HOST:default}
|
||||
prohibit = ${KK_PROHIBIT:exe,dll,dat}
|
||||
#启用验证码删除文件 默认关闭
|
||||
delete.captcha= ${KK_DELETE_CAPTCHA:false}
|
||||
#删除密码
|
||||
delete.password = ${KK_DELETE_PASSWORD:123456}
|
||||
#删除 转换后OFFICE、CAD、TIFF、压缩包源文件 默认开启 节约磁盘空间
|
||||
delete.source.file = ${KK_DELETE_SOURCE_FILE:true}
|
||||
#首页初始化加载第一页
|
||||
home.pagenumber = ${DEFAULT_HOME_PAGENUMBER:1}
|
||||
#首页是否分页
|
||||
home.pagination = ${DEFAULT_HOME_PAGINATION:true}
|
||||
#首页初始化单页记录数
|
||||
home.pagesize = ${DEFAULT_HOME_PAGSIZE:15}
|
||||
#首页显示查询框
|
||||
home.search = ${DEFAULT_HOME_SEARCH:true}
|
||||
|
||||
#Tif类型设置
|
||||
#Tif类型图片浏览模式:tif(利用前端js插件浏览);jpg(转换为jpg后前端显示);pdf(转换为pdf后显示,便于打印)
|
||||
####################################### 五、文件格式与预览配置(支持动态配置)#######################################
|
||||
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,mpd,m3u8,ts,mpeg,m4a}
|
||||
convertMedias = ${KK_CONVERTMEDIAS:avi,mov,wmv,mkv,3gp,rm,mpeg}
|
||||
tif.preview.type = ${KK_TIF_PREVIEW_TYPE:tif}
|
||||
|
||||
#Cad类型设置
|
||||
#Cad类型图片浏览模式:tif(利用前端js插件浏览);svg(转换为svg显示);pdf(转换为pdf后显示,便于打印)
|
||||
cad.preview.type = ${KK_CAD_PREVIEW_TYPE:svg}
|
||||
#Cad转换超时设置
|
||||
cad.timeout =${KK_CAD_TIMEOUT:90}
|
||||
#Cad转换线程设置
|
||||
cad.thread =${KK_CAD_THREAD:5}
|
||||
office.preview.type = ${KK_OFFICE_PREVIEW_TYPE:image}
|
||||
office.preview.switch.disabled = ${KK_OFFICE_PREVIEW_SWITCH_DISABLED:false}
|
||||
pdf.presentationMode.disable = ${KK_PDF_PRESENTATION_MODE_DISABLE:true}
|
||||
pdf.openFile.disable = ${KK_PDF_OPEN_FILE_DISABLE:true}
|
||||
pdf.print.disable = ${KK_PDF_PRINT_DISABLE:true}
|
||||
pdf.download.disable = ${KK_PDF_DOWNLOAD_DISABLE:true}
|
||||
pdf.bookmark.disable = ${KK_PDF_BOOKMARK_DISABLE:true}
|
||||
pdf.disable.editing = ${KK_PDF_DISABLE_EDITING:false}
|
||||
watermark.txt = ${WATERMARK_TXT:}
|
||||
watermark.x.space = ${WATERMARK_X_SPACE:10}
|
||||
watermark.y.space = ${WATERMARK_Y_SPACE:10}
|
||||
watermark.font = ${WATERMARK_FONT:微软雅黑}
|
||||
watermark.fontsize = ${WATERMARK_FONTSIZE:18px}
|
||||
watermark.color = ${WATERMARK_COLOR:black}
|
||||
watermark.alpha = ${WATERMARK_ALPHA:0.2}
|
||||
watermark.width = ${WATERMARK_WIDTH:180}
|
||||
watermark.height = ${WATERMARK_HEIGHT:80}
|
||||
watermark.angle = ${WATERMARK_ANGLE:10}
|
||||
cad.watermark = true
|
||||
|
||||
####################################### 权限配置 #######################################
|
||||
kk.Picturespreview=true
|
||||
kk.Getcorsfile=true
|
||||
kk.addTask=true
|
||||
kk.Key=false
|
||||
# 启用AES 接入方法 ase秘钥 必须16位 (接入秘钥必须相同) false (为不启用)
|
||||
ase.key= 1234567890123456
|
||||
####################################### 六、性能与资源管理配置(支持动态配置)#######################################
|
||||
pdf.max.threads = 10
|
||||
cad.thread = ${KK_CAD_THREAD:5}
|
||||
tif.thread = 5
|
||||
media.timeout.enabled = true
|
||||
media.small.file.timeout = 30
|
||||
media.medium.file.timeout = 60
|
||||
media.large.file.timeout = 180
|
||||
media.xl.file.timeout = 300
|
||||
media.xxl.file.timeout = 600
|
||||
media.xxxl.file.timeout = 1200
|
||||
pdf.timeout.small = 90
|
||||
pdf.timeout.medium = 180
|
||||
pdf.timeout.large = 300
|
||||
pdf.timeout.xlarge = 600
|
||||
cad.timeout = ${KK_CAD_TIMEOUT:90}
|
||||
tif.timeout = 90
|
||||
media.convert.max.size = 300
|
||||
media.convert.disable = ${KK_MEDIA_CONVERT_DISABLE:true}
|
||||
pdf.dpi.enabled = true
|
||||
pdf2jpg.dpi = ${KK_PDF2JPG_DPI:144}
|
||||
pdf.dpi.small = 150
|
||||
pdf.dpi.medium = 120
|
||||
pdf.dpi.large = 96
|
||||
pdf.dpi.xlarge = 72
|
||||
pdf.dpi.xxlarge = 72
|
||||
|
||||
#basic.name=192.168.0.1:name:123456,192.168.0.2:name:123456,www.xxx.com:admin:pass (域名+用户名+密码 多个接入用,分割)
|
||||
basic.name=10.99.1.2:aaa:bbb
|
||||
####################################### 七、FTP文件访问配置(支持动态配置)#######################################
|
||||
ftp.username = false
|
||||
|
||||
useragent=99999
|
||||
####################################### 八、首页与文件管理配置(支持动态配置)#######################################
|
||||
file.upload.disable = false
|
||||
beian = ${KK_BEIAN:default}
|
||||
home.pagenumber = ${DEFAULT_HOME_PAGENUMBER:1}
|
||||
home.pagination = ${DEFAULT_HOME_PAGINATION:true}
|
||||
home.pagesize = ${DEFAULT_HOME_PAGSIZE:15}
|
||||
home.search = ${DEFAULT_HOME_SEARCH:true}
|
||||
delete.captcha = ${KK_DELETE_CAPTCHA:false}
|
||||
delete.password = ${KK_DELETE_PASSWORD:123456}
|
||||
delete.source.file = ${KK_DELETE_SOURCE_FILE:true}
|
||||
|
||||
####################################### 九、权限与认证配置(支持动态配置)#######################################
|
||||
kk.Picturespreview = true
|
||||
kk.Getcorsfile = true
|
||||
kk.addTask = true
|
||||
kk.Key = false
|
||||
ase.key = 1234567890123456
|
||||
basic.name = 10.99.1.2:aaa:bbb
|
||||
useragent = 99999
|
||||
|
||||
####################################### 十、高级功能与兼容性配置(支持动态配置)#######################################
|
||||
kk.ignore.ssl = true
|
||||
kk.enable.redirect = true
|
||||
544
server/src/main/config/application详细.properties
Normal file
544
server/src/main/config/application详细.properties
Normal file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user