kkfileView使用问题年终答疑篇

本文涉及的产品
云数据库 Tair(兼容Redis),内存型 2GB
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
简介: 前言碎语 首先非常感谢社区同仁对kkfileview项目的关注,kkfileview开源一年多以来,收获了两千六百多个赞以及获得码云最有价值项目GVP,这离不开大家的贡献和关注。同时,kkfileview的设计模式,也被其他的类似项目所抄袭,这也从侧面说明了kkfileview存在的价值。

前言碎语

首先非常感谢社区同仁对kkfileview项目的关注,kkfileview开源一年多以来,收获了两千六百多个赞以及获得码云最有价值项目GVP,这离不开大家的贡献和关注。同时,kkfileview的设计模式,也被其他的类似项目所抄袭,这也从侧面说明了kkfileview存在的价值。但是开源容易,维护不易,在维护kk开源社区过程中也遇到了某些低素质人的恶语相向。但是我们并没有放弃,一直坚持做开源,从kkfileview之后也陆续开源了几个优秀的项目。由于公司事务原因,后面对kkfileview的问题关注的比较少,因为kkfileview的跨语言跨平台特性,使用人群比较广泛,以至于很多人在搭建环境过程中遇到了各种问题没有得到很好的解决,深感抱歉,这也直接导致kkfileview流失了一大部分的用户。正值年假将近腾出了点时间,正好可以好好捋一捋kkfileview的系列问题。

进入正题

问题一、kkfileview项目怎么部署?

kkfileview使用java语言,底层基于spring boot框架开发,spring boot是一个为微服务而生的底层框架,项目打成jar包后自带了web 容器,服务器部署时不需要额外的tomcat容器,只需要将jar包丢到某个目录,然后执行一下脚本即可

nohup java -Dspring.profiles.active=uat -jar /home/it/file-preview/jodconverter-web-1.5.8.RELEASE.jar > /home/it/file-preview/log/app.log &

其中spring.profiles.active代表配置文件是uat的。

问题二、kkfileview依赖的外部组件主要作用是什么?

kkfileview主要依赖openoffice或者liberoffice、以及redis。openoffice主要用来转换word系列的办公文档,使其能够被浏览器直接或间接渲染,如doc、ppt会转换成pdf;excel会被转换成html。redis这里有两个作用,一是用来存储已转换过文件的文件名,用来避免重复转换提供效率。二是用来充当分布式队列,解决并发预览和有些大的文件可以提前入队转换的问题。

问题三、文件预览乱码了有哪些原因呢?

很多人反馈,我在本地运行很好,部署到服务器上后就乱码了。其实文件预览乱码问题很简单,一般有两个原因,一个是编码问题,一个是字体问题。我们先说字体问题。一般的做法是将Windows下的字体拷贝到Linux服务器上,具体操作如下:

将Windows下的C:\Windows\Fonts 目录下的文件完整拷贝到Linux下的 /usr/share/fonts目录。然后依次执行mkfontscale 、mkfontdir 、fc-cache使字体生效。

编码问题的话是个老生常谈的问题。因为其受运行所在主机环境的影响不确定因素比较高,常规做法是,修改配置文件中如下配置,一般都是utf-8或者gbk。还不行,就在启动脚本里设置-Dfile.encoding=UTF-8试试

server.tomcat.uri-encoding = UTF-8
converted.file.charset = GBK

问题四、本地运行起来后报文件找不到异常?

一般遇到这个异常是因为你的文件目录地址配置错误了,如下文件目录配置:

file.dir = /Users/chenkailing/test/

注意目录最后是以/结尾的

问题五、项目启动时,报错Redission is shutdown

出现这个问题一般有两个原因,原因一、redis服务本身有问题、或者redis服务有密码认证,项目没有配置密码,遇到redis带有密码认证的可在配置文件中加入如下配置

spring.redisson.password = xxx

原因二、openoffice进程未关闭。kkfileview在启动时会自动开启openoffice的转换服务进程,所以在启动kkfileview前,需要保证openoffice进程是关闭的

问题六、kkfileview部署成功后怎么接入呢?

kkfileview从设计之初就充分考虑了微服务的使用场景,以http接口提供服务实现了跨语言跨系统跨服务。要使用kkfileview预览,首先这个文件要可访问,然后就访问地址作为参数传入kkfileview接口即可,如下:

https://localhost/onlinePreview?url=http://www.xx.com/meinv.png

url后面的参数就是你要预览的文件地址,当然为了url参数接收的正确性,文件地址需要被编码

问题七、http://file.keking.cn怎么访问不了?

我们的公共体验服务开放了近一年,开放服务能够最快速直观的体验kkfileview的预览功能,这为kkfileview项目带来了不少的用户。但是因为kkfileview和公司内部的业务系统部署在一起后面考虑到直接暴露服务带来的安全问题,所以就关闭了。这里呼吁如果有闲置服务器而且愿意提供帮助的欢迎联系我一起共建kkfileview。

问题八、相同的文件类型有的可以预览有的不可以?

这个是因为文件格式的兼容性问题,从两个类别的文件来聊聊这个问题。

一个是办公文档,微软的office一直在更新,当openoffice的更新没赶上office的功能时就会出现这种预览保报错的问题。最简单的鉴别方法就是直接使用openoffice打开是否有问题,能打开基本就能预览了。

一个压缩文件,压缩包不能预览很纯粹是因为压缩包格式的兼容性问题,压缩包的格式太多了,相同的zip格式压缩包也存在各种不同的压缩格式

问题九、kkfileview怎么集成到java项目?

一般有这个问题的是大概率是还没了解kkfileview的服务模式,kkfileview不需要集成到自己的项目里面,只要独立部署好kkfileview项目本身就可以对外提供文件预览服务了。具体可以参考问题六

文末结语

以上九个问题基本囊括了kkfileview使用过程中方方面面,希望此文能够帮助更多的kkfileview使用者以及将要使用kkfileview的所有同仁。再次感谢大家的关注与支持,同时也呼吁大家一起参与进来共建项目,给我们提更多的建议,让kkfileview走的更远更好。最后打个小广告,我们凯京在开源中国的官博成立了,欢迎关注我们,一起学习一起进步。

作者简介:

陈凯玲,2016年5月加入凯京科技。曾任职高级研发和项目经理,现任凯京科技研发中心架构&运维部负责人。pmp项目管理认证拥有者,阿里云认证最有价值专家MVP。热爱开源,先后开源过多个热门项目。

关于架构&运维部

凯京研发中心架构&运维部的工作主要分两大部分,架构部分主要负责框架中间件的研究,如dubbo、apollo、skywalking、xxljob、分布式事务等、公司内开源项目(https://gitee.com/kekingcn)以及公共服务公共组件的研发维护、新技术的引进以及落地等。运维部分主要负责devops系统研发以及k8s容器环境的维护等工作。

架构组招聘

目前架构组还有两个虚位以待,欢迎志同道合的你来和我们一起交流。简历可发送至邮箱:chenkailing@keking.cn

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
5月前
|
人工智能 自然语言处理 安全
新年愿望清单:搭建官网选哪家?
而今立足「SaaS系统」面向中小企业的各种低成本建站产品让人眼花缭乱,小云对比了几大厂牌,梳理出一些【阿里云精选建站】的功能亮点,篇幅有限,各位看官可酌情参考——
166 0
|
1月前
|
前端开发
在线一键生成国庆红旗风头像网站源码
抖音微信超火国庆节国旗头像生成源码,静态页前端生成速度超快!源码直接上传到服务器即可使用。
44 0
在线一键生成国庆红旗风头像网站源码
|
5月前
|
关系型数据库 MySQL Linux
2024一分钱网淘客联盟PHP网站源码
2024一分钱网淘客联盟PHP网站源码,环境配置:php5.3 以上 MYSQL 5.0以上 建议使用apache linux 系统
107 3
2024一分钱网淘客联盟PHP网站源码
|
11月前
|
监控 Dubbo NoSQL
火速收藏!HUAWEI神级 SpringBoot 进阶笔记,竟一夜上到Github榜一
经过几年的发展,Spring Boot几乎已成为Java企业级开发的标准框架,它为开发人员提供了极其方便的项目框架搭建、软件集成功能,极大地提升了开发人员的工作效率,减少了企业的运营成本。
|
安全 算法 数据可视化
【附下载】如何快速搞定年终汇报PPT?
【附下载】如何快速搞定年终汇报PPT?
|
消息中间件 存储 分布式计算
GitHub标星150K的神仙笔记,3个月肝完成功面进美团定级3-2
楼主14年小本毕业。离职也有一段时间了,因为一些原因,休整了一段时间。然后3月初开始准备面试(在上家公司工作之余心里一直有着进大厂的执念)。上家公司是智能家居互联网行业的,使用的技术框架有dubbo、zookeeper、mybatis、springMVC、redis等,数据库是用的mysql。我们主要是java后端开发的,感觉上家公司没啥发展前景了就想着在金三银四之际把握机会。但是自身的知识范围不是很广泛,在数据库原理性的知识和sql语句(比如存储过程、触发器)、并发框架dubbo原理性的东西、各个流行框架原理性的东西都比较薄弱和网络编程这块完全抓瞎,主要平时太关注业务了,没有去及时充充电。在
|
网络安全 开发工具 git
2021-07-27大连东软实训第八天---git学习
2021-07-27大连东软实训第八天---git学习
67 0
|
缓存 JSON NoSQL
公司要新招美女跟我学docker,你来吗?(1)
公司要新招美女跟我学docker,你来吗?(1)
|
Ubuntu 应用服务中间件 Go
公司要新招美女跟我学docker,你来吗?(4)
公司要新招美女跟我学docker,你来吗?(4)
|
负载均衡 NoSQL JavaScript
公司要新招美女跟我学docker,你来吗?(3)
公司要新招美女跟我学docker,你来吗?(3)