文件预览KKFileView开源项目探索-学习笔记

首先要感谢码云开源项目对文件预览提供的支持和带来的便利,大家可以去参考学习(安利一波~)

开源地址: https://gitee.com/kekingcn/file-online-preview

在对kkfileview预览服务功能的学习之中遇到了部分问题,特作此笔记记录,也希望能帮到迷茫的大家

一、服务部署

kkfileview提供了多种部署方式

1) 物理机或虚拟机上运行

1. 从 码云发行版本 下载最新版发行包

2. 解压kkFileView-2.x.x.zip包

解压命令: unzip kkFileView-2.x.x.zip

其中,若服务器中未支持unzip命令,需要执行:

安装命令: yum install zip    #安装打包服务命令  提示输入时,请输入y;

扫描二维码关注公众号,回复: 11117634 查看本文章

安装命令:yum install unzip #安装解压服务命令  提示输入时,请输入y;

3. 打开解压后文件夹的bin目录,运行startup脚本(Windows下以管理员身份运行startup.bat,Linux以root用户运行startup.sh

4. 浏览器访问本机8012端口(http://127.0.0.1:8012 )即可看到项目演示用首页

如遇到服务为正常启动时,可查看log文件定位问题

环境要求:

    1.Java: 1.8+

    2.OpenOffice或LiberOffice(Windows下已内置,CentOS或Ubuntu下会自动下载安装,MacOS下需要自行安装)

2)Docker容器环境环境运行

1. 拉取镜像

docker pull keking/kkfileview

2. 运行

docker run -it -p 8012:8012 keking/kkfileview

 3. 浏览器访问容器8012端口(http://xxx.xxx.xxx.xxx:8012 )即可看到项目演示用首页

docker容器部署方式,由于拉取镜像过程中下载文件大小略大且docker连接总是中断,未能测试完成

二、项目如何接入使用

此项目为spring boot服务(内置tomcat),单独部署不需要集成业务系统中

部署完服务后在前端页面配置地址访问即可

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

如果在内网环境中, 不想开放端口或开放服务可配置在业务系统nginx配置文件中做服务转发

# 文件预览代理配置
location /fileview/ {
    proxy_pass http://服务器IP:8012/;
}

前端地址即可通过以下地址访问:

http://nginx服务地址:端口/fileview/onlinePreview?url=要预览文件的访问地址

三、遇到的问题

1. Linux服务器打开doc文件时会出现空白或乱码的情况,可能造成该问题的原因有:

a. 编码问题(但是根据官方文档中的修改配置文件的方法未见成效)

b. 系统缺少字体导致(通过该处理解决问题)

首先需要确认系统中是否缺少字体文件(centos7.4环境)

进入到下述文件夹中查看  cd /user/share/fonts

如缺少文件,将Windows下的C:\Windows\Fonts 目录下的文件完整拷贝到Linux下的 /usr/share/fonts目录

依次执行下述命令使字体生效:

mkfontscale
mkfontdir
fc-cache

#如缺少命令服务,首先执行以下命令:
yum install mkfontscale  #开启mkfontscale服务
yum install fontconfig   #开启fc-cache服务

据开源项目下问题讨论中,有人提到需要重启服务器才能生效,测试发现重新启动kkfileview服务就能生效。

不积硅步无以至千里,不积小流无以成江海;

发布了13 篇原创文章 · 获赞 1 · 访问量 8232

猜你喜欢

转载自blog.csdn.net/romanticRose/article/details/105731822