一、前言

大家好,我是攻城狮阿程,由于极空间系统本身的文件预览格式有限,加之有的朋友可能会有既要为客户进行产品、图纸等演示,又不希望客户具备过大的访问权限的需求,因此今天给大家分享一款能够一键部署文件预览功能的容器应用——kkFileView。

码字不易,喜欢我的教程欢迎各位多提建议多评论,畅所欲言,涉及破解、打倒美帝走近科学和资源分享的教程容易被和谐,也欢迎各位关注我的公众号和博客,以防走丢。

公众号:攻城狮阿程

个人博客:strider1230.cn

个人淘宝店:阿程数码

1.1 软件介绍

kkFile 文件预览是一款开源的文档在线预览项目。项目使用流行的spring boot搭建,易上手和部署,基本支持主流办公文档的在线预览,如doc,docx,Excel,pdf,txt,zip,rar,图片等等。

1.2 软件特点

  • 使用spring boot开发,预览服务搭建部署非常简便;

  • rest接口提供服务,跨平台特性都支持,应用接入简单方便;

  • 支持普通http/https文件下载url、http/https文件下载流url、ftp下载url等多种预览源;

  • 提供zip,tar.gz发行包,提供一键启动脚本和丰富的配置项,方便部署使用;

  • 提供Docker镜像发行包,方便在容器环境部署;

1.3 支持格式详情

支持格式详情:
   多 媒 体:mp3,wav,mp4,flv,m3u8,ts
   文    本:txt,xml,properties,md,gitignore,log,m,bas,prg (配置文件随意扩展)
   思维导图:Xmind
   图    形:psd,ai,jpg,jpeg,png,gif,bmp,ico,jfif,webp,svg,svgz,tif,tiff
   OFFICE  :docx,wps,doc,docm,xls,xlsx,csv,xlsm,ppt,pptx,vsd,rtf,odt,wmf,emf,dps,et,ods,ots,tsv,odp,otp,sxi,ott,vsdx,fodt,fods,xltx,tga
   编程语言:java,c,php,go,python,py,js,html,ftl,css,lua,sh,rb,yaml,yml,json,h,cpp,cs,aspx,jsp,vue,htm,shtml,cmd,sql,bat
   CAD     :dwg,dxf,dwf
   3D  视图:obj,3ds,stl,ply,off,3dm,fbx,dae,wrl,3mf,ifc,glb,o3dv,gltf,stp,bim,fcstd,step,iges,brep,x3d
   压缩  包:rar,zip,jar,7-zip,tar,gzip,7z,gz
   其    他:mht,mhtml,ofd,eml,epub

1.4 软件截图

二、部署 kkFile 容器

2.1 下载 kkFile 官方镜像(镜像较大,下载失败请多试几次)

2.1.1 通过极空间的 Docker 管理页面下载(确保镜像源的选择:Docker Hub)

第一步:打开仓库设置界面,确保镜像源选择的是 Docker Hub;

image-gben.png 第二步:在左侧边栏选择“镜像”,然后点击“仓库”,在搜索框内输入“kkFileView”后搜索找到红框内的官方镜像下载,下载版本选择“latest”即可。

2.1.2 通过自定义拉取功能下载

点击“自定义拉取”按钮,在弹出的对话框中输入“keking/kkfileview”拉取镜像。

2.1.3 导入其他来源获取的镜像(如极空间用户之间的闪电传)

部分用户可能没有科学上网环境,导致镜像无法远程拉取,可以通过其他下载途径进行下载,或使用极空间本身提供的闪电传、文件分享功能获取链接下载。

img

2.2 配置 kkFile 容器

第一步:双击需要使用的镜像,添加到容器;

第二步:配置具体参数,需要配置的参数和项目分别如下图所示,设置均完成后点击“应用”按钮完成容器创建,图里没有的项目均为程序默认;

注意:由于图片显示问题,容器装载路径为:

/opt/kkFileView-4.1.0/file/demo

上图中设置的容器目录路径实际上是文件自动预览的目录路径,即上传到该路径的所有文件均会自动同步到kkFile的预览显示中。

三、 kkFile 程序功能简要说明

3.1 测试登录 kkFile 程序页面

使用浏览器打开你极空间的“域名/IP : kkfile 端口号”(本文设置的本地端口为18012与容器端口不一致,容器端口默认为8012),能够看到下图所示界面说明 kkfile 客户端已经部署成功。

3.2 通过极空间自带的远程登录功能进行访问

第一步:先点击极空间的“远程访问”图标;

第二步:在弹出的对话框中点击“添加新的链接“按钮;

第三步:在弹出的”编辑远程访问“对话框中,备注栏填写:kkFile,地址栏填写:"你极空间容器的IP地址:18012",并勾选“代理模式”后点击“保存”按钮。

第四步:对刚刚创建的kkFile远程访问栏点击鼠标右键,在弹出菜单中选择“首页快捷方式”,在极空间桌面上创建 kkFile 文件预览的快捷方式。

四、kkFile 常见问题

4.1 预览并发问题&预览首次打开慢

可使用预览转码队列,将需要预览的文件url放入队列中,提前进行转码,本地访问接口为:http://127.0.0.1:8012/addTask?url=http://xxx/test.txt (url参数为需要需要的文件访问地址)

4.2 预览乱码

乱码问题可能有如下两个原因:

1.字体问题

大部分 Linux 系统上并没有预装中文字体或字体不全,需要把常用字体拷贝到 Linux 服务器上,具体操作如下:

①下载字体包 https://kkview.cn/resource/fonts.zip

②文件解压完整拷贝到 Linux 下的 /usr/share/fonts目录。然后依次执行mkfontscale 、mkfontdir 、fc-cache 使字体生效。

unzip -o -d /usr/share/fonts/ fonts.zip
## 解压多了一层,需要移动一下到上一层的fonts下面,然后再删除zhFonts文件夹
mv /usr/share/fonts/zhFonts/* /usr/share/fonts/
cd /usr/share/fonts/
mkfontscale 
mkfontdir
fc-cache
## 如果报mkfontscale命令不存在执行
yum install mkfontscale -y

2.编码问题

① Excel 文件编码格式 Excel 软件是可以选择用什么编码去保存文件的;

Excel编码目前读取Eecel文件是用的服务器操作系统默认编码,可以通过在启动脚本里加入如-Dfile.encoding=UTF-8指定。

生成html网页编码格式

生成html网页也是用的服务器操作系统默认编码(java系统属性:sun.jnu.encoding),比如用浏览器用手动更改编码格式为utf-8gbk打开没有问题,但是用浏览器默认编码就有问题,此时可调整系统配置文件中的配置项converted.file.charset可解决此类乱码问题。

4.3 使用 docker 部署时如何指定配置文件中的配置项

针对docker运行的用户,所有配置项可以使用设置相应的环境变量来配置。

环境变量的KEY为配置文件中每个配置项后${}中的KEY
例如,使用docker运行要指定base.urlhttp://file.keking.cn,docker运行命令如下

docker run -it -d -p 8012:8012 -e KK_BASE_URL="http://file.keking.cn" keking/kkfileview:v2.2.1

五、结语

过上述步骤,我们完成了 kkFile 的容器化部署和基本配置。

如果你看完教程还是觉得很困难,也可以扫描下方二维码进入我的淘宝小店——阿程数码,直接购买对应的极空间 Docker 服务,我会远程帮你有偿部署。

640.jpg