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
3.浏览器访问容器9002端⼝(x:9002)即可看到项⽬演⽰⽤⾸页
项⽬接⼊使⽤:
当您的项⽬内需要预览⽂件时,只需要调⽤浏览器打开本项⽬的预览接⼝,并传⼊须要预览⽂件的url,⽰例如下:
普通⽂件下载url预览
var url = '127.0.0.1:9002/'; //要预览⽂件的访问地址window.open('127.0.0.1:9002/onlinePreview?
url='+encodeURIComponent(previewUrl));
http/https下载流url预览
很多系统内不是直接暴露⽂件下载地址,⽽是请求通过id、code等参数到通过统⼀的接⼝,后端通过id或code等参数定位⽂件,再通过OutputStream输出下载,此时下载url是不带⽂件后缀名的,预览时需要拿到⽂件名,传⼀个参数来指定⽂件名,⽰例如下
var originUrl = '127.0.0.1:9002/filedownload?fileId=1'; //要预览⽂件的访问地址var previewUrl = originUrl
+'&'window.open('127.0.0.1:9002/onlinePreview?url='+encodeURIComponent(previewUrl));
FTP下载url预览
1). FTP匿名访问
如果要预览的FTP url是可以匿名访问的(不需要⽤户名密码),则可以直接通过下载url预览,⽰例如下
var url = 'ftp://127.0.0.1/'; //要预览⽂件的访问地址window.open('127.0.0.1:9002/onlinePreview?
url='+encodeURIComponent(url));
2). ⾮匿名访问,确定只有访问⼀台FTP服务器
如果预览服务只访问⼀台FTP服务器,只需要在配置⽂件中配置FTP链接信息,则可以直接通过下载url预览,⽰例如下
var url = 'ftp://127.0.0.1/'; //要预览⽂件的访问地址window.open('127.0.0.1:9002/onlinePreview?
url='+encodeURIComponent(url));
3). ⾮匿名访问,不只访问⼀台FTP服务器
如果预览服务要访问多台FTP服务器,且⽤户名密码不⼀致,可以通过在url中加⼊⽤户名密码等参数预览(url参数中的优化于配置⽂件中的),⽰例如下,
33xxkk
var originUrl = 'ftp://127.0.0.1/'; //要预览⽂件的访问地址var previewUrl = originUrl +
'?ftp.username=xx&ftp.password=xx&l.encoding=xx';window.open('127.0.0.1:9002/onlinePreview?
url='+encodeURIComponent(previewUrl));