各位老铁们好,相信很多人对kk音乐网站源码分享下载都不是特别的了解,因此呢,今天就来为大家分享下关于kk音乐网站源码分享下载以及kk歌单的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!
关于在线预览的实现方案除了之前说的转图片、html、pd以及利用前端组件以外方式,还有就是在服务器端引入一些开源或者商用的组件来实现在线预览的实现方案。通过这次的调研找到了kkfileview、OnlyOffice、officeonlineserver、LibreOfficeOnline、CollaboraOnline等五种组件,接下来我们就来一个一个看着这些组件是如何安装和使用的吧。
一、kkfileview
1、简介
kkfileview是一个开源的文件文档在线预览项目解决方案。该项目使用流行的springboot搭建,易上手和部署以及二次开发,并提供Docker镜像发行包,方便在容器环境部署。基本支持主流办公文档的在线预览。支持的格式如下:
支持wordexcelppt,pdf等办公文档支持txt,java,php,py,md,js,css等所有纯文本支持zip,rar,jar,tar,gzip等压缩包支持jpg,jpeg,png,gif等图片预览(翻转,缩放,镜像)支持mp3,mp4,flv等多媒体文件预览
2、官方地址
2.1官网地址
https://kkfileview.keking.cn/zh-cn/index.html
2.2官方文档
https://kkfileview.keking.cn/zh-cn/docs/home.html
2.3gitee源码仓库地址
kkFileView:使用springboot打造文件文档在线预览项目解决方案,支持doc、docx、ppt、pptx、wps、xls、xlsx、zip、rar、ofd、xmind、bpmn、eml、epub、3ds、dwg、psd、mp4、mp3以及众多类文本类型文件在线预览(gitee.com)
3、部署
本篇使用docker为例进行部署
3.1拉取镜像
网络环境不方便访问docker中央仓库\nwgethttp://kkfileview.keking.cn/kkFileView-4.1.0-docker.tar\ndockerload-ikkFileView-4.1.0-docker.tar
3.2运行
dockerrun-d-it-p8012:8012keking/kkfileview:4.1.0
浏览器访问容器8012端口http://127.0.0.1:8012即可看到项目演示用首页
预览效果如下:
通过返回的页面我们可以看出kkfileview其实是通过转成图片+html的方式实现的(txt文件除外),源文件的内容都被转成了图片,然后放到html中以保持样式
4、使用方式
4.1普通文件下载url预览
<scripttype=&34;src=&34;></script>\n\nvarurl=&39;;//要预览文件的访问地址\nwindow.open(&39;+encodeURIComponent(Base64.encode(url)));
4.2http/https下载流url预览
很多系统内不是直接暴露文件下载地址,而是请求通过id、code等参数到通过统一的接口,后端通过id或code等参数定位文件,再通过OutputStream输出下载,此时下载url是不带文件后缀名的,预览时需要拿到文件名,传一个参数fullfilename=xxx.xxx来指定文件名,示例如下
<scripttype=&34;src=&34;></script>\n\nvaroriginUrl=&39;;//要预览文件的访问地址\nvarpreviewUrl=originUrl+&39;\nwindow.open(&39;+encodeURIComponent(Base64.encode(previewUrl)));
二、OnlyOffice
1、简介
ONLYOFFICEDocs是一款功能强大的一个开源办公套件,包括文本文档、电子表格和演示文稿的编辑器。可以兼容微软Office和OpenDocument文档格式,主要包括:docx、xlsx、pptx、odt、ods、odp、doc、xls、ppt、pdf、txt、rtf、html、epub、csv。它提供以下功能:
1、创建、编辑和查看文本文档、电子表格和演示文稿;
2、与其他队友实时协作处理文件;
3、ONLYOFFICEDocs还支持用于将您的应用程序与在线办公室集成的WOPI协议。
2、官方地址
2.1官网地址
https://api.onlyoffice.com/
2.2官方文档
https://api.onlyoffice.com/
2.3gihub源码仓库地址
https://github.com/ONLYOFFICE
3、部署
本篇使用docker为例进行部署
3.1拉取镜像
dockerpullonlyoffice/documentserver
3.2运行
dockerrun-i-t-d-p8013:8013–restart=alwaysonlyoffice/documentserver
浏览器访问容器8012端口http://127.0.0.1:8013即可看到项目演示用首页
可以添加demo
sudodockerexec容器idsudosupervisorctlstartds:example\n
测试demo:
demo预览效果如下:
三、officeonlineserver
1、简介
OfficeOnlineServer是由微软出品得Office服务器付费产品,它为Office文件提供基于浏览器的文件查看和编辑服务。OfficeOnlineServer适用于支持WOPI(Web应用程序开放平台接口协议)的产品和服务。这些产品(称为主机)包括SharePointServer和ExchangeServer。OfficeOnlineServer场可以为多个本地主机提供Office服务,并且可以随着组织需要的增加将服务器场从一台服务器扩展到多台服务器。虽然OfficeOnlineServer需要不运行其他服务器应用程序的专用服务器,但可以在需要时在虚拟机上安装OfficeOnlineServer。
OfficeOnlineServer只能部署在WindowsServer2012R2、WindowsServer2016或WindowsServer2019或WindowsServer2022等服务器上。
2、官方地址
2.1官方文档
https://learn.microsoft.com/zh-cn/officeonlineserver/office-online-server-overview?redirectedfrom=MSDN
3、部署
因为OfficeOnlineServer只能部署在WindowsServer上,这里就不演示了,具体的部署步骤可以参考上面的官方文档,或者参考这篇文章《OfficeOnlineServer搭建(全网最详细)_程序员劝退师-TAO的博客》
预览效果如下
经过测验officeonlineserver的在线预览是最强大的,也是本次介绍的在线预览控件里唯一支持动态内容的(如gif、ppt里的视频等)。kkfileview和OnlyOffice在碰到动态内容时都会为动态内容生成一张静态的预览图片,所在在线预览时这些动态内容都会变成静态的。唯独officeonlineserver可以支持动态内容,甚至可以在线预览ppt时,播放ppt里的视频。只能说微软yyds。
四、LibreOfficeOnline
1、简介
LibreOfficeOnline是一个服务器服务,用主LibreOffice项目代码建成,提供对一系列的文档的查看及协作编辑。它不含任何形式的文件系统。要让它能完全地正常使用,它需要和底层软件堆栈中的文件访问和身份验证配置集成。LibreOfficeOnline是开源自由软件,但是缺乏官方的支持,所以更推荐基于基于LibreOffice开发的CollaboraOnline。
2、官方地址
2.1官网地址
https://zh-cn.libreoffice.org/download/libreoffice-online/
2.2官方文档
help.libreoffice.org/latest/index.html
3、部署
本篇使用docker为例进行部署
3.1拉取镜像
dockerpulllibreoffice/online:latest
3.2运行
dockerrun-eTZ=&34;–restartalways–namelibreoffice-d-p8014:8014-e&34;-e&34;-e&34;libreoffice/online:master
3.3配置OFFICE应用配置,修改HTTPS为HTTP
由于LibreOfficeOnline默认配置为HTTPS,因此,无法正常通过HTTP正常访问,因此需要修改应用的配置文件:
3.3.1将loolwsd.xml文件复制出来,并进行编辑
[root@docker~]vim/home/loolwsd.xml
3.3.2禁用SSL加密传输:(其默认是True,开启),找到下面这行将true改为false
<ssldesc=&34;>\n<enabletype=&34;desc=&34;default=&34;>false</enable>\n
3.3.3将配置文件重新复制到容器中,并重新启动Office容器
[root@docker~]dockerrestartLibreOfficeOnline\n[root@dockerhome]测试可以正常访问\nOK\n1234\n
4.查看LibreOfficeOnline服务运行状态
直接访问:http://127.0.0.1:8014,返回OK,即为安装成功;
4、验证LIBREOFFICEONLINE文件转换:
$curl-F&34;http://127.0.0.1:8014/lool/convert-to/pdf>out.pdf\n%Total%Received%XferdAverageSpeedTimeTimeTimeCurrent\nDloadUploadTotalSpentLeftSpeed\n1001781710016145100167280728360:00:020:00:02–:–:–6829\n
5、在项目中使用LibreOfficeOnline
因为LibreOfficeOnline是通过将文件转换成pdf实现在线预览,所以还需要再写一段文件在线转换的逻辑
5.1添加Maven
<properties>\n<libreoffice.version>5.4.2</libreoffice.version>\n</properties>\n<dependency>\n<groupId>org.libreoffice</groupId>\n<artifactId>juh</artifactId>\n<version>${libreoffice.version}</version>\n</dependency>\n<dependency>\n<groupId>org.libreoffice</groupId>\n<artifactId>jurt</artifactId>\n<version>${libreoffice.version}</version>\n</dependency>\n<dependency>\n<groupId>org.libreoffice</groupId>\n<artifactId>ridl</artifactId>\n<version>${libreoffice.version}</version>\n</dependency>\n<dependency>\n<groupId>org.libreoffice</groupId>\n<artifactId>unoil</artifactId>\n<version>${libreoffice.version}</version>\n</dependency>\n<dependency>\n<groupId>org.jodconverter</groupId>\n<artifactId>jodconverter-online</artifactId>\n<version>4.2.4</version>\n</dependency>\n
5.2文件在线转换的逻辑代码
FileAttributefileAttribute=newFileAttribute();\nFileinputFile=newFile(url);\n//判断获取目标文件路径是否为空\nif(!inputFile.exists()){\nthrownewBaseException(&34;);\n}\n\t\t//处理文件路径\nStringurl2OutFilePath=StringUtils.replaceOnce(url,&34;,&34;);\nStringoutFilePathStr=StringUtils.substringBeforeLast(url2OutFilePath,&34;)+&34;;\nfileAttribute.setUrl(outFilePathStr);\nFileoutputFilePath=newFile(outFilePathStr);\n\t\t//存在已经转换的文件则直接返回文件路径\nif(outputFilePath.exists()){\nresult.setResult(fileAttribute);\nreturnresult;\n}else{\n//转换文件\nif(!outputFilePath.getParentFile().exists()&&!outputFilePath.getParentFile().mkdirs()){\nlog.error(&34;,url2OutFilePath);\n}\nfinalOnlineOfficeManageronlineOfficeManager=OnlineOfficeManager.make(libreofficeServer);\ntry{\nonlineOfficeManager.start();\nOnlineConverter.builder().officeManager(onlineOfficeManager).build()\n.convert(inputFile).to(outputFilePath).execute();\nonlineOfficeManager.stop();\n}catch(Exceptione){\nlog.error(&34;+e);\nthrownewBaseException(&34;);\n}finally{\nif(onlineOfficeManager!=null){\ntry{\nonlineOfficeManager.stop();\n}catch(OfficeExceptione){\ne.printStackTrace();\n}\n}\n}\n}\nresult.setResult(fileAttribute);\nreturnresult;\n
五、CollaboraOnline
1、简介
CollaboraOnline是一个基于LibreOffice办公套件的在线协作平台。它可以通过网络访问,并允许用户创建和编辑办公应用程序文档(例如文本文档、电子表格和演示文稿),并与其他用户实时协作。
它的开源性质使得CollaboraOnline对于想要拥有自己控制的在线协作解决方案的组织来说,可以简单、快速地搭建,让组织临时组建的团队和持久的远程团队在多个地点的人能够共同工作,提高工作效率,促进沟通交流。
CollaboraOnline还具有内置的版本控制和恢复功能,自然语言处理支持、可横跨多个文档的模板、可重定向的IE模式、通用的Office格式支持和强大的API。
2、官方地址
(1)官网地址
https://www.collaboraoffice.com/
(2)官方文档
https://github.com/CollaboraOnline/online
(3)gihub源码仓库地址
https://github.com/CollaboraOnline/online
3、部署
本篇使用docker为例进行部署
3.1拉取镜像
dockerpullcollabora/code
3.2运行
dockerrun-t-d-p127.0.0.1:8015:8015-e&34;\n-e&34;-e&34;–restartalways–cap-addMKNODcollabora/code
注:为你的nextcloud服务器地址,此处为授权的意思,并注意域名部分中的“.”要加转义字符“\\”,多个域名之间用“|”隔开
3.3配置Nginx反向代理
CollaboraOnline需要https安全连接,所以需要申请购买或者试用ssl证书(测试可以到https://www.pianyissl.com申请试用ssl)
配置nginx反向代理collaboraonline
server{\nlisten443ssl;\n\nserver_namecollabora.test.com;\nsslon;\nssl_certificate/usr/local/nginx/ssl/server.pem;\nssl_certificate_key/usr/local/nginx/ssl/server.key;\n\n\nlocation^~/loleaflet{\nproxy_passhttps://localhost:9980;\nproxy_set_headerHost$http_host;\n}\n\nlocation^~/hosting/discovery{\nproxy_passhttps://localhost:9980;\nproxy_set_headerHost$http_host;\n}\n\nlocation^~/lool{\nproxy_passhttps://localhost:9980;\nproxy_set_headerUpgrade$http_upgrade;\nproxy_set_headerConnection&34;;\nproxy_set_headerHost$http_host;\n}\n}\n
3.4在nextcloud配置collaboraonline
3.4.1nextcloud应用界面添加collaboraonline启用
3.4.2.应用管理界面的&34;,输入collaboraonline地址
预览效果如下
总结
本篇文章主要介绍了kkfileview、OnlyOffice、officeonlineserver、LibreOfficeOnline、CollaboraOnline等通过在服务器端安装组件来实现在线预览的方式,其中kkfileview、LibreOfficeOnline这两种组件只支持在线预览,OnlyOffice、officeonlineserver、CollaboraOnline这三种组件除了支持在线预览还能支持在线编辑,关于在线编辑准备拿出来后面单独讲一讲。
关于kk音乐网站源码分享下载到此分享完毕,希望能帮助到您。
