一、前言
大家好,我是攻城狮阿程,由于极空间系统本身的文件预览格式有限,加之有的朋友可能会有既要为客户进行产品、图纸等演示,又不希望客户具备过大的访问权限的需求,因此今天给大家分享一款能够一键部署文件预览功能的容器应用——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;
第二步:在左侧边栏选择“镜像”,然后点击“仓库”,在搜索框内输入“kkFileView”后搜索找到红框内的官方镜像下载,下载版本选择“latest”即可。
2.1.2 通过自定义拉取功能下载
点击“自定义拉取”按钮,在弹出的对话框中输入“keking/kkfileview”拉取镜像。
2.1.3 导入其他来源获取的镜像(如极空间用户之间的闪电传)
部分用户可能没有科学上网环境,导致镜像无法远程拉取,可以通过其他下载途径进行下载,或使用极空间本身提供的闪电传、文件分享功能获取链接下载。
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 软件是可以选择用什么编码去保存文件的;
目前读取Eecel文件是用的服务器操作系统默认编码,可以通过在启动脚本里加入如-Dfile.encoding=UTF-8
指定。
②生成html网页编码格式
生成html网页也是用的服务器操作系统默认编码(java系统属性:sun.jnu.encoding
),比如用浏览器用手动更改编码格式为utf-8
或gbk
打开没有问题,但是用浏览器默认编码就有问题,此时可调整系统配置文件中的配置项converted.file.charset
可解决此类乱码问题。
4.3 使用 docker 部署时如何指定配置文件中的配置项
针对docker运行的用户,所有配置项可以使用设置相应的环境变量来配置。
环境变量的KEY为配置文件中每个配置项后${}
中的KEY
例如,使用docker运行要指定base.url
为http://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 服务,我会远程帮你有偿部署。