1.前沿
在使用 jeecgboot 的时候,发现了一个好用的文件预览插件,就是 kkFileView,于是就花时间进行了研究和安装。使用 kkfileview 这个组件,可以对外提供服务,然后通过 url 实现文件预览。 后来我发现好像下载特别的麻烦,如果想要获取安装包,还需要付费。
参考文章:
【1】.项目简介
【2】.在线预览服务软件 kkFileView
【3】.项目中如何集成 kkFileView,实现几乎任意格式文件的预览
【4】.上传组件使用kkfileview实现文件预览 基于kkfileview:v2,修改上传组件(JUpload),支持点击文件预览。
【5】.Preview 将图片预览组件组件函数化。通过函数方便创建组件
2.安装
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| docker pull keking/kkfileview:4.1.0
wget https://kkfileview.keking.cn/kkFileView-4.1.0-docker.tar docker load -i kkFileView-4.1.0-docker.tar
docker run -it -p 8012:8012 keking/kkfileview:4.1.0
docker run -idt -p 10022:8012 keking/kkfileview
docker run --rm -itd -p 10022:8012 \ --env KK_BASE_URL=https://xxx/fileview/ \ --env KK_CONTEXT_PATH=/fileview/ \ keking/kkfileview
|
3.使用
当您的项目内需要预览文件时,只需要调用浏览器打开本项目的预览接口,并传入须要预览文件的url,示例如下:
1 2 3 4
| <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/js-base64@3.6.0/base64.min.js"></script>
var url = 'http://127.0.0.1:8080/file/test.txt'; window.open('http://127.0.0.1:8012/onlinePreview?url='+encodeURIComponent(Base64.encode(previewUrl)));
|
4.修改配置文件
(1)先将容器内的文件 cp 出来,这样就有了完整的配置文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| docker exec -it [容器id] bash
docker cp [容器id]:/opt/kkFileView-4.1.0-SNAPSHOT/config/application.properties .
docker cp [容器id]:/opt/kkFileView-4.1.0/config/application.properties .
vi application.properties
docker cp application.properties [容器id]:/opt/kkFileView-4.1.0/config/
docker stop [容器id] docker start [容器id]
|
参考文章:
【1】.docker部署kkFileView并且修改配置文件
【2】.kkFileView的主要配置修改和容器部署
4.nginx代理
(1) 修改kkFileView配置文件
1 2 3
| server.context-path = /fileview/
base.url = https://127.0.0.1:443/fileview/
|
(2) 修改nginx,fileview后面没有加 /,要是加了可能就访问不到了。
1 2 3 4 5 6 7
| location /fileview { proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://127.0.0.1:8012; }
|
参考文章:
【1】.使用Nginx代理kkFileView
【2】.nginx配置问题 这个不要加,nginx location里后面有没有 / 是不一样的
5.禁止复制图片等
参考文章:
【1】.KKFileView在线预览禁用复制右键图片保存等操作