• 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://也是必填的!!!

  • 相关阅读:
    Istio典型应用场景
    【SpringBoot篇】分页查询 | 扩展SpringMvc的消息转换器
    前端实现图片下载的方法
    【python】内置库函数大集合 ❢ 这不得点赞收藏一波~
    MySQL:创建用户报错1396 - Operation CREATE USER failed for ‘kingbal‘@‘%‘
    JavaScript是如何实现模块化的?
    C++,java,python异同 快速入手其他语言 功能查询
    案例1:人生重开模拟器(Python)——直接带你入门~
    并联电容器电容量测试
    Java/JDK 21正式发布!15个特性一览
  • 原文地址:https://blog.csdn.net/weixin_45494557/article/details/132754941