一、使用背景
项目开发中需要使用预览功能查看pdf、MP4、doc、ppt等格式的文件。还有添加水印等其他功能。
二、kkFileView使用(请直接移步官方文档、简单快速上手)
https://kkfileview.keking.cn/zh-cn/docs/home.html
三、过程中遇到的问题
项目发布后对外暴露https地址、而kkFileView默认是ip+端口。所有需要nginx配置反向代理。
使用jar包起服务的用户请参考官网配置
base.url
说明:提供预览服务的地址,默认从接收请求url读,如果使用nginx等反向代理,需要手动设置为通过nginx访问预览服务的地址
默认值:未设置
示例:base.url = https://file.keking.cn
例如nginx的访问地址为 http://file.keking.cn 想要使用 http://file.keking.cn/preview/来做预览,kkFileView部署在内网192.168.1.233服务器上,需要在nginx中添加反向代理如下
location /preview {
proxy_pass 192.168.1.233:8012;
}
修改kkFileView的配置文件如下两项
server.context-path = /preview
base.url = http://file.keking.cn/preview
使用如下地址来访问预览页面
var url = ‘http://file.keking.cn/file/test.txt’; //要预览文件的访问地址
window.open(‘http://file.keking.cn/preview/onlinePreview?url=’+encodeURIComponent(url));
docker启动kkFileView如何修改为https访问
docker run -it -d -p 8012:8012 -e BASE_URL=“https://xxxx.top/preview” -e SERVER_CONTEXT-PATH="/preview" keking/kkfileview
location /preview {
proxy_set_header HOST $host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://ip:8012;#这里注意端口
}
接入完成,可以开心的使用了。