文件預覽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;

安裝命令: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服務就能生效。

不積硅步無以至千里,不積小流無以成江海;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章