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
相关文章
|
6月前
|
人工智能 自然语言处理 安全
新年愿望清单:搭建官网选哪家?
而今立足「SaaS系统」面向中小企业的各种低成本建站产品让人眼花缭乱,小云对比了几大厂牌,梳理出一些【阿里云精选建站】的功能亮点,篇幅有限,各位看官可酌情参考——
171 0
|
6月前
|
运维 应用服务中间件 Linux
震精!京东T8大牛每天熬夜到凌晨三四点,竟然是在写Docker教程
Docker如日中天,这不是单纯的炒概念,Docker确确实实解决了开发与运维的痛点,因此在企业开发中得到了非常广泛的使用。
|
供应链 安全 大数据
叮~OpenSCA社区拍了拍您并发来一份开源盛会邀请函
8月10日,2023数字供应链安全大会将在北京隆重举行,我们在国家会议中心等你呦~ (报名参会方式请见文末)
64 0
叮~OpenSCA社区拍了拍您并发来一份开源盛会邀请函
|
缓存 JSON NoSQL
公司要新招美女跟我学docker,你来吗?(1)
公司要新招美女跟我学docker,你来吗?(1)
|
存储 NoSQL 网络协议
公司要新招美女跟我学docker,你来吗?(2)
公司要新招美女跟我学docker,你来吗?(2)
|
负载均衡 NoSQL JavaScript
公司要新招美女跟我学docker,你来吗?(3)
公司要新招美女跟我学docker,你来吗?(3)
|
Ubuntu 应用服务中间件 Go
公司要新招美女跟我学docker,你来吗?(4)
公司要新招美女跟我学docker,你来吗?(4)
|
Web App开发 JSON JavaScript
冰墩墩官方 NFT 盲盒将开售 约 626 元一个;京东到家程序员删库跑路被判刑; Laravel 9 正式发布 | 思否周刊
冰墩墩官方 NFT 盲盒将开售 约 626 元一个;京东到家程序员删库跑路被判刑; Laravel 9 正式发布 | 思否周刊
164 0
|
Kubernetes 供应链 Cloud Native
报名进入尾声,赶快申请加入 sealer 开源之夏吧!
作为阿里巴巴开源的一款帮助分布式应用快速进行打包、交付和运行的解决方案,sealer 可以通过把分布式应用及其数据库中间件等依赖项一起打包来解决复杂应用的交付问题。sealer 构建出来的产物我们称之为集群镜像,集群镜像里内嵌了一套完整的 Kubernetes + 容器,它们双剑合璧,解决了分布式应用的交付一致性问题。
报名进入尾声,赶快申请加入 sealer 开源之夏吧!
下一篇
无影云桌面