• Linux部署kkFileView 晓>冥


      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等文件在线预览,功能非常强大,不仅满足了我的要求,还提供功能的功能,真的是要大赞一番!

    官方在线体验(可以看一下效果)

    地址:http://file.keking.cn/

     

    接下来说说关于kkFileView在服务器上面的部署

    一、下载压缩包

    码云发行版本 下载最新版发行包

    二、在服务器上预装环境

    (1)环境要求

    1. Java: 1.8+

    2. 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-8gbk打开没有问题,但是用浏览器默认编码就有问题,此时可调整系统配置文件中的配置项converted.file.charset可解决此类乱码问题

     

     

    官方wiki文档:https://gitee.com/kekingcn/file-online-preview/wikis/pages?sort_id=1444366&doc_id=106093

    官方介绍文档:https://gitee.com/kekingcn/file-online-preview/blob/master/README.md

  • 相关阅读:
    Caused by: com.mysql.cj.core.exceptions.InvalidConnectionAttributeException: The server time zone value '�й���׼ʱ��' is unrecognized or represents more than one time zone. You must configure either the
    Caused by: java.lang.IllegalArgumentException: @EnableAsync annotation metadata was not injected
    jpa单向一对一关系外键映射
    jpa关联映射
    svn 插件去除已经保存的密码方法
    【前端】less学习
    【CodeForces 520E】Pluses everywhere
    费马小定理证明
    【前端】纯前端的一个‘喜欢我吗?’
    Sublime text3 插件HTML/CSS/JS prettify 格式化代码
  • 原文地址:https://www.cnblogs.com/xiaomingwang/p/11567967.html
Copyright © 2020-2023  润新知