SpringBoot:kkFileView万能文件在线预览(已开源)

这篇具有很好参考价值的文章主要介绍了SpringBoot:kkFileView万能文件在线预览(已开源)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

在之前的文章中,我们使用MinIO实现了文件存储,用于存储各种格式的文件。有时候我们不仅需要文件存储,还需要文件的在线预览。这里给大家推荐一个基于SpringBoot的文件预览神器kkFileView,基本支持主流文件的在线预览,使用也很简单,希望对大家有所帮助!

kkFileView简介

kkFileView可以用来搭建文件在线预览服务,在Github上已有5.7k+Star。该项目使用流行的SpringBoot搭建,易上手和部署,基本支持主流办公文档的在线预览,如docx、xlsx、pptx、pdf、txt、zip、图片、视频、音频等等。项目特性可以参考下图。

kkfileview,SpringBoot,spring boot,开源,在线预览,文件预览,kkFileView,部署,能力

一、安装部署

kkFileView支持在Windows和Linux下安装,下面我们介绍下它的安装,基本就是开箱即用!

1.Windows

  • 首先下载最新版的安装包,下载地址:https://gitee.com/kekingcn/file-online-preview/releases

kkfileview,SpringBoot,spring boot,开源,在线预览,文件预览,kkFileView,部署,能力

  • 下载成功后,解压到指定目录,然后运行bin目录下的startup.bat命令即可;

![图片](data:image/svg+xml,%3C%3Fxml version=‘1.0’ encoding=‘UTF-8’%3F%3E%3Csvg width=‘1px’ height=‘1px’ viewBox=‘0 0 1 1’ version=‘1.1’ xmlns=‘http://www.w3.org/2000/svg’ xmlns:xlink=‘http://www.w3.org/1999/xlink’%3E%3Ctitle%3E%3C/title%3E%3Cg stroke=‘none’ stroke-width=‘1’ fill=‘none’ fill-rule=‘evenodd’ fill-opacity=‘0’%3E%3Cg transform=‘translate(-249.000000, -126.000000)’ fill=‘%23FFFFFF’%3E%3Crect x=‘249’ y=‘126’ width=‘1’ height=‘1’%3E%3C/rect%3E%3C/g%3E%3C/g%3E%3C/svg%3E)

  • 由于是SpringBoot项目,想要修改配置的话,只需修改config目录下的application.properties文件即可。

kkfileview,SpringBoot,spring boot,开源,在线预览,文件预览,kkFileView,部署,能力

2.Linux

  • 在Linux下使用Docker安装非常简单,只需两个命令即可,首先下载kkFileView的Docker镜像;
docker pull keking/kkfileview
  • 下载完成后运行kkfileview的Docker容器,服务将运行在8012端口上;
docker run -p 8012:8012 --name kkfileview \
-d keking/kkfileview
  • 运行成功后,可以访问kkfileview的测试页,地址地址:http://192.168.7.109:8012

kkfileview,SpringBoot,spring boot,开源,在线预览,文件预览,kkFileView,部署,能力

二、使用

之前我们使用MinIO搭建了对象存储服务,接下来我们就把kkfileview和MinIO结合起来使用,首先将需要在线预览的文件存储到MinIO中去,然后预览文件。

  • 我们可以使用S3 Browser来管理MinIO中的文件,首先创建一个存储桶为preview,然后将文件都上传上去;

kkfileview,SpringBoot,spring boot,开源,在线预览,文件预览,kkFileView,部署,能力

  • 上传成功后需要修改存储桶的访问策略,让匿名用户可以访问;

kkfileview,SpringBoot,spring boot,开源,在线预览,文件预览,kkFileView,部署,能力

  • 修改策略时直接参考Policy Examples即可,注意修改下version2012-10-17

kkfileview,SpringBoot,spring boot,开源,在线预览,文件预览,kkFileView,部署,能力

  • 修改成功后就可以在线预览文件了,我们来看下在线预览文件的URL格式,只需传入url(需要预览的文件地址)即可,这里要注意的是这个url需要进行base64编码才可以;
http://192.168.7.109:8012/onlinePreview?url=base64Encode($url)
  • 接下来我们来预览个图片试试,首先获取图片的访问地址;

kkfileview,SpringBoot,spring boot,开源,在线预览,文件预览,kkFileView,部署,能力

  • 然后找个网站把url进行base64编码,我使用的是这个:https://tool.oschina.net/encrypt?type=3

kkfileview,SpringBoot,spring boot,开源,在线预览,文件预览,kkFileView,部署,能力

  • 接下来把url参数放入访问路径中即可预览图片了,是不是很简单!

kkfileview,SpringBoot,spring boot,开源,在线预览,文件预览,kkFileView,部署,能力

  • 再来预览下word文档,我们可以发现右侧有个JPG的按钮,可以切换到JPG试图,其实kkfileview是通过把word文档转换为pdf或者JPG来实现文档预览的;

kkfileview,SpringBoot,spring boot,开源,在线预览,文件预览,kkFileView,部署,能力

  • 再来预览下ppt文档,发现ppt文档也是通过转化为pdf和JPG来实现预览的;

kkfileview,SpringBoot,spring boot,开源,在线预览,文件预览,kkFileView,部署,能力

  • 再来预览下pdf文档,和上面两个并没有啥区别;

![图片](data:image/svg+xml,%3C%3Fxml version=‘1.0’ encoding=‘UTF-8’%3F%3E%3Csvg width=‘1px’ height=‘1px’ viewBox=‘0 0 1 1’ version=‘1.1’ xmlns=‘http://www.w3.org/2000/svg’ xmlns:xlink=‘http://www.w3.org/1999/xlink’%3E%3Ctitle%3E%3C/title%3E%3Cg stroke=‘none’ stroke-width=‘1’ fill=‘none’ fill-rule=‘evenodd’ fill-opacity=‘0’%3E%3Cg transform=‘translate(-249.000000, -126.000000)’ fill=‘%23FFFFFF’%3E%3Crect x=‘249’ y=‘126’ width=‘1’ height=‘1’%3E%3C/rect%3E%3C/g%3E%3C/g%3E%3C/svg%3E)

  • 再来预览下excel文档,这预览效果有待提高;

kkfileview,SpringBoot,spring boot,开源,在线预览,文件预览,kkFileView,部署,能力

  • 再来预览下纯文本的Markdown文档;

kkfileview,SpringBoot,spring boot,开源,在线预览,文件预览,kkFileView,部署,能力

  • 最后再来预览下压缩文件,支持查看压缩文件中的内容,点击文件可直接预览。

kkfileview,SpringBoot,spring boot,开源,在线预览,文件预览,kkFileView,部署,能力

三、配置

kkfileview的配置众多,具体直接参考config目录下的application.properties文件即可,这里介绍下如何自定义Docker容器中的配置。

  • 如果你想修改kkfileview的配置文件的话,可以先从Docker容器中拷贝出配置文件目录;
docker cp kkfileview:/opt/kkFileView-3.5.1/config /mydata/kkFileView/
  • 然后将配置目录、文件目录、日志目录挂载到宿主机并运行;
docker run -p 8012:8012 --name kkfileview \
-v /mydata/kkFileView/config:/opt/kkFileView-3.5.1/config \
-v /mydata/kkFileView/file:/opt/kkFileView-3.5.1/file \
-v /mydata/kkFileView/log:/opt/kkFileView-3.5.1/log \
-d keking/kkfileview
  • 如果我们想要给预览文件添加水印的话,可以修改application.properties文件中的如下配置,比如我想添加macrozheng这个水印;
#水印内容
#如需取消水印,内容设置为空即可,例:watermark.txt = ${WATERMARK_TXT:}
watermark.txt = ${WATERMARK_TXT:macrozheng}
  • 修改成功后,再次预览图片就会发现水印已经添加了。

kkfileview,SpringBoot,spring boot,开源,在线预览,文件预览,kkFileView,部署,能力

小结

通过对kkFileView的一波实践,我们发现kkFileView可以满足Office文档、视频、图片等主流文件的在线预览需求,使用和配置也非常简单。由于它是通过将word、ppt文档转化为pdf来实现预览的,如果你对Office文档预览没有特别高的要求,完全可以使用它搭建一个全能的文件在线预览服务!

1.参考资料

官方文档:https://kkfileview.keking.cn/zh-cn/index.html文章来源地址https://www.toymoban.com/news/detail-691152.html

到了这里,关于SpringBoot:kkFileView万能文件在线预览(已开源)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • 文件预览服务器kkfileview(linux部署)

    文件预览服务器kkfileview(linux部署)

    1、前置环境 2、安装kkfileview 官网地址:https://kkfileview.keking.cn/zh-cn/docs/home.html 3、安装office组件(报错提示:启动office组件失败,请检查office组件是否可用) 4、安装成功如图所示 5、查看office组件版本 6、配置kkfileview参数 7、启动文件预览服务 8、关闭文件预览服务 9、查看日志

    2024年02月11日
    浏览(11)
  • Docker安装kkfileview,kkfileview在docker部署后预览出现预览中的字体样式与源文件不同的解决办法,动态水印

    Docker安装kkfileview,kkfileview在docker部署后预览出现预览中的字体样式与源文件不同的解决办法,动态水印

    目录 1.Docker安装kkfileview 2.kkfileview在docker部署后预览出现预览中的字体样式与源文件不同的解决办法 2.1. 物理机或虚拟机上运行  2.2. Docker容器环境环境运行  3.docker中更改kkfileview的配置文件application.properties 4.如何水印文本内容动态传值 动态水印 静态水印 5.扩展漏洞,修复

    2024年02月11日
    浏览(11)
  • 文件预览服务器kkfileview安装部署(linux 版)

    文件预览服务器kkfileview安装部署(linux 版)

    1、安装 LiberOffice 安装包 命令下载 wget https://kkfileview.keking.cn/LibreOffice_7.1.4_Linux_x86-64_rpm.tar.gz tar -zxvf LibreOffice_7.1.4_Linux_x86-64_rpm.tar.gz cd LibreOffice_7.1.4.2_Linux_x86-64_rpm/RPMS yum install -y *.rpm 2、验证office是否安装成功 cd /opt/libreoffice7.1/program ./soffice --version 如果顺利成功,此时可以看

    2024年02月05日
    浏览(13)
  • kkfileview在预览word文档中文乱码

    kkfileview在预览word文档中文乱码

    因为liunx服务器没有相关中文字体 1.下载中文字体包 http://kkfileview.keking.cn/fonts.zip 2.上传服务器至目录/usr/share/fonts 解压 unzip fonts.zip 3.执行命令 mkfontscale mkfontdir fc-cache 如果报错命令没有找到,则安装对应命令,例如 yum install -y mkfontscale 4.赋予字体权限 [root@lingtan01 zhFonts]# chm

    2024年02月05日
    浏览(11)
  • 解决kkFileView4.4.0版本pdf、word不能预览问题

    解决kkFileView4.4.0版本pdf、word不能预览问题

    这里使用的是http下载流url预览,遇到的问题。 官方使用指南:kkFileView - 在线文件预览 注意:要给预览文件的url进行编码encodeURIComponent(Base64.encode(previewUrl))。 点击在线预览按钮出现以下情况: 下载失败:org.springframework.web.client.HttpServerErrorException$InternalServerError: 500 Internal Se

    2024年02月20日
    浏览(191)
  • 使用Spring Gateway为对象存储系统MinIo和kkFileView文档预览增加登录验证

    使用Spring Gateway为对象存储系统MinIo和kkFileView文档预览增加登录验证

    官网介绍:kkFileView为文件文档在线预览解决方案,该项目使用流行的spring boot搭建,易上手和部署,基本支持主流办公文档的在线预览,如doc,docx,xls,xlsx,ppt,pptx,pdf,txt,zip,rar,图片,视频,音频等等。 前一文章《开源对象存储系统MinIo部署配置与SpringBoot客户端整合访问》已经介绍

    2024年02月09日
    浏览(15)
  • 网络安全-kkFileViews任意文件读取漏洞原理解析

    网络安全-kkFileViews任意文件读取漏洞原理解析

    在学习的过程中,了解到kkFileView存在任意文件读取、SSRF、文件上传漏洞。 为了更深刻的理解其原理,我从git拉取了项目,由于该漏洞在最新版本已经修复,所以这只是历史版本中存在的。 写这篇文章来提醒自己代码中容易出问题的地方。 来到kkFileView官网,发现支持Gitee,

    2024年04月11日
    浏览(13)
  • 在银河麒麟V10SP1forARM版本上离线编译libreoffice-7.1.8.1和kkfileview的部署,实现在线查看功能

    在银河麒麟V10SP1forARM版本上离线编译libreoffice-7.1.8.1和kkfileview的部署,实现在线查看功能

    编译libreoffice-7.1.8.1和配置kkfileview 需要以下文件, kkFileView-4.0.0-可以使用.tar.gz文件已经将配置文件增加进去 libreoffice-7.1.8.1.tar.xz 是libreoffice源文件,需要对其进行编译 libreoffice-external-tar.tar.gz 是libreoffice程序需要的相关组件 libreoffice-yum-new.tar.gz 编译器环境用的组件 autogen .i

    2024年02月04日
    浏览(15)
  • kkFileView踩坑记录

    kkFileView踩坑记录

    公司项目内需对word、excel、pdf、ppt等文件有预览需求,故引入该项开源技术。 官网: http://kkfileview.keking.cn/zh-cn/index.html 环境要求 1.Java: 1.8+ 2.LibreOffice或OpenOffice(Windows下已内置,CentOS或Ubuntu下会自动下载安装,MacOS下需要自行安装) Docker部署 请提前预装好docker环境 jar部署 请提前

    2024年02月17日
    浏览(5)
  • Docker环境下kkfileview安装部署记录

    Docker环境下kkfileview安装部署记录

    官方文档地址:http://kkfileview.keking.cn/zh-cn/docs/production.html 源码地址:https://gitee.com/kekingcn/file-online-preview 一般没有改代码的话用这种方式就可以,注意有nginx转发的话需要配置base.url参数 由于对代码做了一些更改,所以手动部署   Dockerfile文件  pom 五、前端url处理

    2024年02月11日
    浏览(14)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包