kkFlileView是一个java开源的文件预览项目。之前我要做一个关于各类office文档在线预览的功能,对我这种还是小白的家伙,要做一个预览难度确实很大,不过好在在网上发现了这款kkFileView的开源的springboot项目,帮助我解决这个大问题。kkFileVie支持doc、docx、ppt、pptx、xls、xlsx、zip、rar、mp4、mp3以及众多类文本如txt、html、xml、java、properties、sql、js、md、json、conf、ini、vue、php、py、bat、gitignore等文件在线预览,功能非常强大,不仅满足了我的要求,还提供功能的功能,真的是要大赞一番!
官方在线体验(可以看一下效果)
接下来说说关于kkFileView在服务器上面的部署
从 码云发行版本 下载最新版发行包
二、在服务器上预装环境
(1)环境要求
-
Java: 1.8+
-
OpenOffice或LiberOffice(Windows下已内置,CentOS或Ubuntu下会自动下载安装,MacOS下需要自行安装)
(我这边是CentOS的环境)
(2)环境配置
在服务器运行如下代码:
yum install -y libXext.x86_64
yum groupinstall -y "X Window System"
三、解压压缩包
解压下载下来的zip压缩包(可以本地解压),将其放到服务器目录下,打开文件夹的bin目录,运行startup.sh脚本。
运行语句
sh startup.sh
浏览器访问服务器8012端口(“http://+”服务器公网IP+“:8012 ”)即可看到项目演示用首页,如果没有注意服务器上的8012端口是否开放。如果没有,去安全组开启?
(我的 “Navicat连接服务器数据库” 最后面一段有介绍如何去安全组开启想要的端口)
四、项目接入使用
当您的项目内需要预览文件时,只需要调用浏览器打开本项目的预览接口,并传入须要预览文件的url,示例如下:
var url = 'http://127.0.0.1:8080/file/test.txt'; //要预览文件的访问地址
window.open('http://127.0.0.1:8012/onlinePreview?url='+encodeURIComponent(previewUrl));
五、预览乱码
字体问题
大部分Linux系统上并没有预装中文字体或字体不全,需要把常用字体拷贝到Linux服务器上,具体操作如下: 将Windows下的C:\Windows\Fonts 目录下的文件完整拷贝到Linux下的 /usr/share/fonts目录。然后依次执行mkfontscale 、mkfontdir 、fc-cache使字体生效(有些字体需要单独上传,批量上传往往会自动被跳过)
(如果提示 mkfontscale: command not found,需自行安装 # yum install mkfontscale )
(如果提示 fc-cache: command not found,则需要安装# yum install fontconfig )
安装完成后,重启服务器
reboot
(我的“Linux添加字体”那篇有详细的流程介绍)
编码问题
生成html网页也是用的服务器操作系统默认编码(java系统属性:sun.jnu.encoding
),比如用浏览器用手动更改编码格式为utf-8
或gbk
打开没有问题,但是用浏览器默认编码就有问题,此时可调整系统配置文件中的配置项converted.file.charset
可解决此类乱码问题
官方wiki文档:https://gitee.com/kekingcn/file-online-preview/wikis/pages?sort_id=1444366&doc_id=106093
官方介绍文档: