背景

在开发自己的涉及多种类型文件项目时,需要做一些体验上的优化。用户上传的文件怎么实现不下载但能够快速预览?

解决方案

  1. 一种方案是统计所有可以预览的文件类型,然后针对文件实现转换,比如浏览器本身可以预览图片、PDF和HTML文件。这里可以通过后端服务将文件转换成这几个类型,可以达到快速预览的目的。

  2. 第二种是通过第三方服务kkFileView,这是一个开源项目,使用流行的spring boot搭建,易上手和部署,基本支持主流办公文档的在线预览,如doc,docx,Excel,pdf,txt,zip,rar,图片等等。

我在调研后决定使用第二种,通过kkFileView实现预览,这个项目本身已经非常成熟了。预览效果也很棒。部署服务后只需要传入一个url即可预览文件。

本地运行也比较简单,将git项目拉下来,在本地用idea打开,安装项目依赖后启动运行即可。也可以打包成一个发行版jar包,在服务器上直接运行。

资源地址

demo地址:https://file.keking.cn/index

gitee:https://gitee.com/kekingcn/file-online-preview