这里使用的是kkFileView插件,部署在服务器上,使用其生成预览内容,官网地址是:kkFileView - 在线文件预览
下载地址为:kkFileView 4.1.0 版本发布,开源在线文件预览解决方案 - OSCHINA - 中文开源技术交流社区
以window为例,下载zip的包,解压后,在bin目录直接启动startup.bat.
访问地址:http://localhost:8012
上面可以直接上传http地址,获取本地文件,然后预览出一个地址
http://localhost:8012/onlinePreview?url=aHR0cDovL2xvY2FsaG9zdDo4MDEyL2RlbW8v6aG555uuLmRvY3g%3D
以上是在kkView服务上预览的内容,如果要应用到springboot项目中,这里总结了三个方法:
一、前端方式:
1.vue前端的话,前端安装base64.min.js编码;就在kkView目录下的file目录下生成文档对应的pdf,源文件及图片目录了
##在vue项目引入base64
const Base64 = require('js-base64').Base64
##编码
var url = 'http://127.0.0.1:8080/file/test.txt'; //要预览文件的访问地址
window.open('http://127.0.0.1:8012/onlinePreview?url='+encodeURIComponent(Base64.encode(url)));
二、后端方式,直接调用上传接口,上传完,同样会生成上面对应的pdf文件和图片。注意上传文件的地址不要带中文。
地址:http://localhost:8012/uploadFile
参数:Multifile
方法:post
三、后端方式,使用预览转码队列。注意文件地址要以/,不要是\
地址:http://localhost:8012/addTask
参数:url=http文件地址
方法:GET
上面三种方式都可以生成文件,为了不盲目等待,我们使用异步方式后台执行后端的方法。
生成的图片目录下有多张图片,部分预览取第一张,如果只有一张图片,截图图片的一部分取。
全预览则取其pdf文件。
由于上面要预览的文件都在kkView的file目录下,不能直接打开调用。我们先保存到自己服务器,然后映射后用自己服务器地址访问部分预览和全预览的内容