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

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

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文件,看看在线预览的实际效果:

image.png

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

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

文本预览

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

文本预览效果如下:

image.png

文档预览

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

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

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

image.png

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

image.png

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

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

image.png

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

image.png

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

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

image.png

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


image.png

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


image.png

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

image.png

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

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

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

视频预览效果如下:

image.png

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

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

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

image.png

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

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

image.png

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

目录
相关文章
|
29天前
|
Java 应用服务中间件 Maven
SpringBoot 项目瘦身指南
SpringBoot 项目瘦身指南
43 0
|
2月前
|
消息中间件 安全 druid
GitHub昙花一现!《Spring Boot趣味实战课》神作开源几分钟被下架
今天给大家分享好书了:刘水镜老师的 《Spring Boot趣味实战课》,网上依旧是没有开源版本!小编会在文末附电子版免费下载方式。 刘水镜是谁? 十余年持续技术文章输出,CSDN博客专家。2020年《 Spring Boot趣味私房课》专栏上线,凭借风趣幽默、深入浅出的写作风格深受读者好评。 《Spring Boot趣味实战课》 内容丰富、趣味实战是本书的两大特色 涵盖 Spring MVC、MyBatis Plus、Spring DaJPA、Spring Security、Quartz等主流框架 整合MySQL. Druid、Redis、 RabbitMQ、Elastics
40 0
|
1天前
|
Java 数据安全/隐私保护 Sentinel
微服务学习 | Spring Cloud 中使用 Sentinel 实现服务限流
微服务学习 | Spring Cloud 中使用 Sentinel 实现服务限流
|
2天前
|
Java Nacos 开发者
Java从入门到精通:4.2.1学习新技术与框架——以Spring Boot和Spring Cloud Alibaba为例
Java从入门到精通:4.2.1学习新技术与框架——以Spring Boot和Spring Cloud Alibaba为例
|
2天前
|
Dubbo Java 应用服务中间件
Java从入门到精通:3.2.2分布式与并发编程——了解分布式系统的基本概念,学习使用Dubbo、Spring Cloud等分布式框架
Java从入门到精通:3.2.2分布式与并发编程——了解分布式系统的基本概念,学习使用Dubbo、Spring Cloud等分布式框架
|
8天前
|
安全 Java 应用服务中间件
江帅帅:Spring Boot 底层级探索系列 03 - 简单配置
江帅帅:Spring Boot 底层级探索系列 03 - 简单配置
24 0
江帅帅:Spring Boot 底层级探索系列 03 - 简单配置
|
10天前
|
XML Java C++
【Spring系列】Sping VS Sping Boot区别与联系
【4月更文挑战第2天】Spring系列第一课:Spring Boot 能力介绍及简单实践
【Spring系列】Sping VS Sping Boot区别与联系
|
14天前
|
Java
开源一个基于SpringBoot的慈善公益平台(三)
开源一个基于SpringBoot的慈善公益平台
27 0
|
14天前
|
前端开发 Java 数据库连接
开源一个基于SpringBoot的慈善公益平台(一)
开源一个基于SpringBoot的慈善公益平台
47 0
|
1月前
|
SQL Java 数据库连接
springboot解析txt文件顺便加到数据库中(nohup文件)
springboot解析txt文件顺便加到数据库中(nohup文件)
112 1