core压缩包_牛逼!一个基于Springboot开发的文件在线预览系统已开源,支持压缩包、doc、ppt等~...

1bd59a9d83a8670bcd438522a1985bae.png

最近,有位同学问我,他跟朋友接了一个外包项目,其中有一个需求,需要实现文件在线预览的功能,问我有没有好的解决方案? cef1448fe2f083cc59a4156953c8349b.png 我不怕你不问,就怕你不说~ 有,肯定有啊,我前段时间才用过一个~ 我的这个还比较成熟,有一些公司也在用,它是基于Springboot搭建的,目前支持在线预览的格式比较多,如doc,docx,xls,xlsx,ppt,pptx,pdf,txt,zip,rar,图片,视频,音频等~ 是开源项目,可以免费使用。 它主要依赖于OpenOffice或LiberOffice,代码简单易懂,详细的文档,测试Demo,有一些开发经验的同学,基本上都能看懂,没啥难点,而且社区维护的也挺棒的 0b1369aafbce5bcb4495669524d39726.png # OpenOffice、LiberOffice是什么? Apache OpenOffice与LibreOffice都发源于OpenOffice.org这个开源的office办公套件,支持Windows、Liunx、OS X 等主流操作系统。 具体区别,去网上搜搜,这里我就不啰嗦了~ OpenOffice官网:https://www.openoffice.org LibreOffice官网:https://www.libreoffice.org # 效果预览 最主要的是来看效果,如果效果能达到你的预期,那么你便可以把它组装到你的系统里了~ 它提供了上传文件的功能,见下图 dee73f76413e5f36a174c7c139f9aa6f.png 比如想我,主要测试doc、压缩包、图片这几种格式的文档,方便我集成到自己的系统,那么,我主要就是测试这几种格式~ 1、word文档 目前主要支持doc,docx文档预览,它提供了两种预览模式。点击最右侧的按钮,可以自由在两种模式之间切换,见下图 e32600ef40c779ee9ccb841cbf784aac.png a)图片预览 需要将每页word转换为图片,如果文件过大的话,肯定会很慢,具体效果见下图 704531542761d20f770de63ddc9d807a.png b)pdf预览 由于是内网访问,所以加载速度相对较快,效果见下图 cb721fdf06f630f719354adb89c32187.png 2、图片 支持jpg,jpeg,png,gif等,支持翻转,缩放,镜像等效果,效果如下 38a673f5f75516f245a503f2927c752e.png 3、压缩包 支持zip,rar,jar,tar,gzip等格式,预览效果如下 0b9b3d728abd632a968b664a512965ea.png 可点击压缩包中的文件名,直接预览文件 f4362a0911091b3551c565cf28b6631d.png 它还支持上文提到的其它格式,你可以去依次测试,在本文就不一一测试了~ # 如何安装? 需要安装JDK1.8,依赖OpenOffice或LibreOffice(Windows下已内置,CentOS或Ubuntu下会自动下载安装,MacOS下需要自行安装)。 目前,提供了两种安装方式:
  • 可以直接下载安装包安装,进行安装;

  • docker方式安装。

我比较喜欢docker安装,直接两行命令,就ok了~
docker pull keking/kkfileviewdocker run -it -p 8012:8012 keking/kkfileview
通过浏览器,访问容器的8012端口,便可以显示演示页面了。 # 项目结构 利用Maven进行构建的web项目 6d3a8c14fce81c1c28641dc0a8867822.png 如果需要读源码的同学,建议入口开始搞起,入口见下图 3c84d0a3ac8c2a276f4d0a921e743132.png 接下来,重点放在core包,找到自己需要的部分去集成~ 项目地址:https://gitee.com/kekingcn/file-online-preview PS:如果觉得我的分享不错,欢迎大家随手点赞、转发。

a1297017ab012311c9cd826f2e95dc9d.png

f0abedfa7fe4a83c549292020c07eb1e.png

更多精彩推荐

☞ 卧槽!我的IDEA中XML显示屎黄色,怎么去掉?

☞ IDEA 调试技巧,比 Eclipse 强太多了!

☞ IntelliJ IDEA 15款超级牛逼插件推荐(自用,真的超级牛逼)
☞ 嗨:IDEA和VSCode都请安装上这个神奇的插件
点分享点点赞点在看
	
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我来分享一个基于 .Net Core 3.1 开发的模块化项目,并且给你讲解如何添加 System.Web.Caching 程序集。 首先,我们需要创建一个空白的 .Net Core 3.1 项目。打开 Visual Studio,选择 "创建新项目",选择 ".Net Core",然后选择 "ASP.NET Core Web 应用程序"。 接下来,我们需要在项目中添加 System.Web.Caching 程序集。在项目中右键单击 "依赖项",选择 "添加引用",在弹出的对话框中选择 "程序集",然后在搜索框中搜索 "System.Web.Caching",勾选它并点击 "确定"。 添加完程序集之后,我们就可以开始编写代码了。这个项目是一个模块化的项目,我们需要在项目中创建一个名为 "Modules" 的文件夹,用于存放所有的模块。 每个模块都应该包含一个实现了 IModule 接口的类,该接口定义了两个方法:Register 和 Configure。Register 方法用于注册模块中的服务,Configure 方法用于配置模块中的中间件。 下面是一个简单的模块实现: ```csharp public interface IModule { void Register(IServiceCollection services); void Configure(IApplicationBuilder app); } public class SampleModule : IModule { public void Register(IServiceCollection services) { services.AddSingleton<ISampleService, SampleService>(); } public void Configure(IApplicationBuilder app) { app.UseMiddleware<SampleMiddleware>(); } } public interface ISampleService { string GetMessage(); } public class SampleService : ISampleService { public string GetMessage() { return "Hello, World!"; } } public class SampleMiddleware { private readonly RequestDelegate _next; private readonly ISampleService _sampleService; public SampleMiddleware(RequestDelegate next, ISampleService sampleService) { _next = next; _sampleService = sampleService; } public async Task InvokeAsync(HttpContext context) { await context.Response.WriteAsync(_sampleService.GetMessage()); } } ``` 这个模块包含了一个服务和一个中间件,服务用于返回一个简单的消息,中间件用于将该消息输出到响应中。 最后,在 Startup.cs 文件中,我们需要加载所有的模块并注册它们中的服务和中间件。我们可以使用反射来实现这一点。 ```csharp public void ConfigureServices(IServiceCollection services) { var moduleTypes = Assembly.GetExecutingAssembly() .GetTypes() .Where(t => typeof(IModule).IsAssignableFrom(t)); foreach (var moduleType in moduleTypes) { var module = Activator.CreateInstance(moduleType) as IModule; module.Register(services); } } public void Configure(IApplicationBuilder app) { var moduleTypes = Assembly.GetExecutingAssembly() .GetTypes() .Where(t => typeof(IModule).IsAssignableFrom(t)); foreach (var moduleType in moduleTypes) { var module = Activator.CreateInstance(moduleType) as IModule; module.Configure(app); } } ``` 这将加载所有的模块并注册它们中的服务和中间件。 这就是一个简单的模块化 .Net Core 3.1 项目,并且添加了 System.Web.Caching 程序集的方法。希望能对你有所帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值