5

文件在线预览怎么做?这个Spring Boot开源实现学习一下!

 2 years ago
source link: https://blog.didispace.com/spring-boot-file-preview/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

Spring Boot的上传文件,相信你一定会了。如果还不会的小伙伴,可以先看看之前的分享:

文件上传实现之后,通常最常见的另外两个操作就是下载和预览,下载只需要知道地址,就简单搞定了,那么预览怎么做?你知道吗?

今天小编就来推荐一个用Spring Boot搭建的文档在线预览解决方案:kkFileView!

这是一款成熟且开源的文件文档在线预览项目解决方案,如果你用过类似如永中office、office365、idocv这些付钱产品,你一定会喜欢kkFileView,因为在功能满足的前提下,谁还喜欢付费呢?

12大特性

  • 支持word excel ppt,pdf等办公文档
  • 支持txt,java,php,py,md,js,css等所有纯文本
  • 支持zip,rar,jar,tar,gzip等压缩包
  • 支持jpg,jpeg,png,gif等图片预览(翻转,缩放,镜像)
  • 支持mp3,mp4,flv等多媒体文件预览
  • 使用spring boot开发,预览服务搭建部署非常简便
  • rest接口提供服务,跨平台特性(java,php,python,go,php,….)都支持,应用接入简单方便
  • 支持普通http/https文件下载url、http/https文件下载流url、ftp下载url等多种预览源
  • 提供zip,tar.gz发行包,提供一键启动脚本和丰富的配置项,方便部署使用
  • 提供Docker镜像发行包,方便在容器环境部署
  • 抽象预览服务接口,方便二次开发,非常方便添加其他类型文件预览支持
  • 最最重要Apache协议开源,代码pull下来想干嘛就干嘛

对于kkFileView来说,最重要的就是实际展示的效果,小编找了一个之前中秋节用来存放小孩子画画用的图片的word文件,看看在线预览的实际效果:

kkFileView

和实际打开的没啥区别~不错不错

我们再看看其它一些文件的预览效果:

支持所有类型的文本文档预览, 由于文本文档类型过多,无法全部枚举,默认开启的类型如下:txt,html,htm,asp,jsp,xml,json,properties,md,gitignore,log,java,py,c,cpp,sql,sh,bat,m,bas,prg,cmd

文本预览效果如下:

kkFileView

支持doc,docx文档预览,word预览有两种模式:一种是每页word转为图片预览,另一种是整个word文档转成pdf,再预览pdf。两种模式的适用场景如下:

  • 图片预览:word文件大,前台加载整个pdf过慢
  • PDF预览:内网访问,加载pdf快

图片预览模式预览效果如下:

kkFileView

pdf预览模式预览效果如下:

kkFileView

支持ppt,pptx文档预览,和word文档一样,有两种预览模式

图片预览模式预览效果如下:

pdf预览模式预览效果如下:

支持pdf文档预览,和word文档一样,有两种预览模式

图片预览模式预览效果如下:

pdf预览模式预览效果如下:

支持xls,xlsx文档预览,预览效果如下:

支持zip,rar,jar,tar,gzip等压缩包,预览效果如下:

还可直接点击压缩包中的文件名,直接预览文件!

理论上支持所有的视频、音频文件,由于无法枚举所有文件格式,默认开启的类型如下 mp3,wav,mp4,flv。

如有没有未覆盖全面,可通过配置文件指定多媒体类型

视频预览效果如下:

作者最近一次更新版本是在7月,发布了4.00版本,完成了8项优化:

  • 底层集成OpenOffice替换为LibreOffice,Office文件兼容性增强,预览效果提升
  • 修复压缩文件目录穿越漏洞
  • 修复PPT预览使用PDF模式无效
  • 修复PPT图片预览模式前端显示异常
  • 新增功能:首页文件上传功能可通过配置实时开启或禁用
  • 优化增加Office进程关闭日志
  • 优化Windows环境下,查找Office组件逻辑(内置的LibreOffice优先)
  • 优化启动Office进程改同步执行

目前项目支持windows、linux、mac等多个平台,可以下载发行版,解压之后,运行bin目录下的startup.bat命令安装即可。

当然资深玩家可以拉源码自行编译~

要提醒的是,需要更改配置文件的话,只需修改config目录下的application.properties文件即可~

好了,想体验在线预览的小伙伴,赶紧排队上车啦~

扫描下方二维码,关注公众号“TJ君”,回复“在线预览”,获取仓库地址!


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK