minio + kkFileView 實現在線預覽


minio上傳的pdf之類文件不支持預覽,地址在瀏覽器訪問時會直接下載,現在搭配kkFileView文件預覽

1.minio查看之前的安裝方式

2.kkFileView安裝 docker方式

1.拉取 docker pull keking/kkfileview

2.啟動 docker run -it -p 9002:8012 --network=host --restart=always keking/kkfileview

           docker run -p 9002:8012 --name kkfileview -d --restart=always  keking/kkfileview 

3.瀏覽器訪問容器9002端口(http://xxx.xxx.xxx.xxx:9002)即可看到項目演示用首頁

4.nginx 代理

例如nginx的訪問地址為 https://xxxxx.com 想要使用 https://xxxxx.com/preview/來做預覽,kkFileView部署在外網ip-ip-ip-ip服務器上,需要在nginx中添加反向代理如下

location /preview {
    proxy_pass ip-ip-ip-ip:8012;
}

nginx reload

修改kkFileView的配置文件如下兩項

server.context-path = /preview
base.url = https://xxxxx.com/preview
使用如下地址來訪問預覽頁面

var url = 'https://ip/test.txt'; //要預覽文件的訪問地址
window.open('https://xxxxx.com/preview/onlinePreview?url='+encodeURIComponent(url));

docker啟動如下:

find / -name application.properties 

 

 cd /opt/kkFileView-4.1.0-SNAPSHOT/config/

 cp application.properties application.properties.bak(備份一下)

vi 

修改server.servlet.context-path= ${KK_CONTEXT_PATH:/}   為 server.servlet.context-path= /preview

修改#base.url = ${KK_BASE_URL:default}   為 base.url = https://xxxxx.com/preview

重啟容器完成



項目接入使用:

當您的項目內需要預覽文件時,只需要調用瀏覽器打開本項目的預覽接口,並傳入須要預覽文件的url,示例如下:

普通文件下載url預覽

var url = 'http://127.0.0.1:9002/file/test.txt'; //要預覽文件的訪問地址window.open('http://127.0.0.1:9002/onlinePreview?url='+encodeURIComponent(previewUrl));

http/https下載流url預覽

很多系統內不是直接暴露文件下載地址,而是請求通過id、code等參數到通過統一的接口,后端通過id或code等參數定位文件,再通過OutputStream輸出下載,此時下載url是不帶文件后綴名的,預覽時需要拿到文件名,傳一個參數fullfilename=xxx.xxx來指定文件名,示例如下

var originUrl = 'http://127.0.0.1:9002/filedownload?fileId=1'; //要預覽文件的訪問地址var previewUrl = originUrl +'&fullfilename=test.txt'window.open('http://127.0.0.1:9002/onlinePreview?url='+encodeURIComponent(previewUrl));

FTP下載url預覽

1). FTP匿名訪問

如果要預覽的FTP url是可以匿名訪問的(不需要用戶名密碼),則可以直接通過下載url預覽,示例如下

var url = 'ftp://127.0.0.1/file/test.txt'; //要預覽文件的訪問地址window.open('http://127.0.0.1:9002/onlinePreview?url='+encodeURIComponent(url));

2). 非匿名訪問,確定只有訪問一台FTP服務器

如果預覽服務只訪問一台FTP服務器,只需要在配置文件中 配置FTP鏈接信息 ,則可以直接通過下載url預覽,示例如下

var url = 'ftp://127.0.0.1/file/test.txt'; //要預覽文件的訪問地址window.open('http://127.0.0.1:9002/onlinePreview?url='+encodeURIComponent(url));

3). 非匿名訪問,不只訪問一台FTP服務器

如果預覽服務要訪問多台FTP服務器,且用戶名密碼不一致,可以通過在url中加入用戶名密碼等參數預覽(url參數中的優化於配置文件中的),示例如下,

var originUrl = 'ftp://127.0.0.1/file/test.txt'; //要預覽文件的訪問地址var previewUrl = originUrl + '?ftp.username=xx&ftp.password=xx&ftp.control.encoding=xx';window.open('http://127.0.0.1:9002/onlinePreview?url='+encodeURIComponent(previewUrl));


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM