强推!一个项目实现所有文件类型的预览功能!
大家好,我是 Java陈序员
。
我们在工作中,经常需要与文件上传下载进行打交道。甚至有时候要实现文件预览功能。
如果是一两种的文件类型,我们或许可以借助一些插件完成工作,那么如果是要适配各式各样的文件类型呢?
今天,给大家介绍一个支持预览多种文件类型的开源项目 —— kkFileView
.
项目介绍
kkFileView
是一个基于 SpringBoot
实现文档在线预览的开源项目,基本支持主流办公文档(Word
、PPT
、Excel
、Pdf
等)的在线预览。
项目特性:
- 基于
SpringBoot
实现,开箱即用 - 提供丰富的
Restful
接口服务 - 支持
http
/https
/ftp
/文件流等多种预览源 - 统一的预览服务接口,方便二次开发
- 支持
Docker
部署
支持多种文件类型,目前已支持:
项目地址:
https://github.com/kekingcn/kkFileView
在线体验:
https://file.kkview.cn/
在线文档:
https://kkfileview.keking.cn/zh-cn/docs/home.html
功能预览
文本预览
文本预览不仅支持预览 .txt
,而且 .html
、.js
、.xml
、.json
、.yaml
、.java
、.py
、.cpp
等也是支持的!
图片预览
支持 jpg
、jpeg
、png
、gif
等图片预览,并可以放大、缩小、旋转图片!
Pdf
预览
Pdf
预览支持两种格式
图片模式
PDF 格式
Excel
预览
Word
预览
Word
预览预览有两种模式:
- 每页
Word
转为图片预览:Word
文件大,前台加载整个PPT
过慢 - 整个
Word
文档转成PPT
,再预览PPT
:内网访问,加载PPT
快
PPT
预览
多媒体预览
理论上支持所有的视频、音频文件,默认开启的类型:mp3
、wav
、mp4
、flv
,可通过配置文件指定多媒体类型
压缩包预览
支持 zip
、rar
、jar
、tar
、gzip
等压缩包。
可点击压缩包中的文件名,直接预览文件!
安装使用
环境准备
Java
: 1.8+LibreOffice
或OpenOffice
(Windows
下已内置,CentOS
或Ubuntu
下会自动下载安装,MacOS
下需要自行安装)
Docker
安装
拉取镜像:
docker pull keking/kkfileview:4.1.0
启动运行:
docker run -it -p 8012:8012 keking/kkfileview:4.1.0
成功启动后,访问容器 8012
端口 http://127.0.0.1:8012
.
或者使用 nginx
进行反向代理:
server {
listen 80;
server_name chencoding.top;
location / {
proxy_pass http://localhost:8012;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
nginx
配置成功后,浏览器访问:http://ip:端口
或者 http://域名:端口
最后
推荐的开源项目已经收录到 GitHub
项目,欢迎 Star
:
https://github.com/chenyl8848/great-open-source-project
或者访问网站,进行在线浏览:
https://chencoding.top:8090/#/
大家的点赞、收藏和评论都是对作者的支持,如文章对你有帮助还请点赞转发支持下,谢谢!