kkViewFile在线文件部署及使用(局域网部署)

最近项目中想实现文件在线预览的功能,想想就头大,不过还是通过百度到一个免费的在线预览程序,那就是kkViewFile。
但是官网写的文档参考性较少,我在开发的时候遇到了一些问题,找不到好的解决办法,后来钻研了一天左右的时间,终于算是明白了一些,下边我就介绍一下kkFileView的部署和使用吧
一、下载kkViewFile
官网连接
gitee代码连接
相关文档连接

二、打包程序
下载之后,我们用idea打开file-online-preview,环境的话官网也有介绍:
- Java: 1.8+
- LibreOffice或OpenOffice(Windows下已内置,CentOS或Ubuntu下会自动下载安装,MacOS下需要自行安装)

配置文件说明
他的代码里上传文件、删除文件等接口还是比较全面的。然后先修改他的配置文件,在他文档配置说明里也有介绍,而且配置文件中也有注释,这个我就不多做赘述了,根据自己情况来吧。

接口说明
因为他的存储路径路径是配置文件中file.dir+demo(默认的文件夹名称),我的种类比较多,所以我复制了他的接口自己改的,只用了他的预览功能,大家根据自己需要吧

三、部署
修改完配置之后,打包,根据自己项目的化进选择是zip还是gz,第一次打包的话因为需要下载很多东西,所以还是比较慢的。我是linux环境,我就以linux环境介绍了

放到指定目录后解压

tar -zxvf xxx.tar.gz

就有一个kkFileView的文件夹,里边有三个文件夹,一个是bin,一个是log,一个是config,我们启动、停止等命令都在bin目录下

# 启动命令
bash start.sh

# 查看日志命令
bash showlog.sh

# 停止命令
bash shutdown.sh

其实在启动时我就遇到了一个问题,我在自己虚拟机测试没问题,但是现场安装也没问题,但是启动报错“找不到office组件,请确认’office.home’配置是否有误”
该问题我网上也查了很多,大多都是这种解答

# 进入LibreOffice安装目录 检查安装情况,注意下方版本号
cd /tmp/LibreOffice_7.1.4.2_Linux_x86-64_rpm/RPMS
yum localinstall *.rpm -y

可能我看gitee给的答案也是这样,但是对我来说意义不大,因为我压根就没有LibreOffice_7.1.4.2_Linux_x86-64_rpm文件夹
后来我就自己百度,发现是没有office导致了,也就是缺少了LibreOffice或OpenOffice环境,原因应该是是局域网不通外网导致下载失败

然后我就从自己虚拟机下载了一个发给了现场

wget https://kkfileview.keking.cn/LibreOffice_7.1.4_Linux_x86-64_rpm.tar.gz
tar -zxvf LibreOffice_7.1.4_Linux_x86-64_rpm.tar.gz
cd LibreOffice_7.1.4.2_Linux_x86-64_rpm/RPMS
yum install -y *.rpm

参考博客:https://blog.csdn.net/weixin_43866043/article/details/128224674

四、使用
服务启动后,日志也有说明,访问http://127.0.0.1:8012,如果自己修改了端口改为自己端口即可
该页面是他自带的页面,在这我们可以简单试一下上传文件、预览文件、删除文件
如果我们想在自己项目中引入的话

<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/[email protected]/base64.min.js"></script>

var url = 'http://127.0.0.1:8080/file/test.txt'; //要预览文件的访问地址
window.open('http://127.0.0.1:8012/onlinePreview?url='+encodeURIComponent(Base64.encode(url)));

这里我再强调一点:
文件的地址格式一定是:http://ip:port/storepath/fileName
ip:服务ip地址
port:端口
storepath:存储路径,如果没有文件夹路径可去掉
fileName:文件名
我就在这踩过坑:一开始只写了storepath/fileName,后来加上了ip:port,结果还不行,http://也是必填的!!!

你可能感兴趣的:(Java,java,kkFileView,在线预览)