• 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
    
    • 1

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

    # 启动命令
    bash start.sh
    
    # 查看日志命令
    bash showlog.sh
    
    # 停止命令
    bash shutdown.sh
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

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

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

    可能我看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
    
    • 1
    • 2
    • 3
    • 4

    参考博客: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/js-base64@3.6.0/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)));
    
    • 1
    • 2
    • 3
    • 4

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

  • 相关阅读:
    8、RESTful案例
    黑马笔记---包装类,正则表达式,Arrays类
    ECharts柱状图加滚动条
    SAP ABAP OBJECTS_NOT_CHARLIKE
    C语言动态实现顺序栈
    焱融全闪系列科普|固态存储核心技术 SSD
    YUV与RGB 以及之间的转换
    芯海转债,恒逸转2上市价格预测
    C++——多态|多态的概念|多态的定义及实现|虚函数|多态的原理|虚函数表构成虚表的条件
    postgis函数学习
  • 原文地址:https://blog.csdn.net/weixin_45494557/article/details/132754941