QJ_FileCenter

文件中心服务组件
授权协议 GPL
开发语言 C#
所属分类 Web应用开发、 文件上传组件
软件类型 开源软件
地区 国产
投 递 者 东方建修
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

QJ_FileCenter

项目介绍

  • 能够独立部署的文件中心服务,提供上传,下载,文件预览等服务

  • 帮助文档见 QJ_FileCenter帮助文档 第六章

为什么会开发这玩意...

当然是为了方便,最开始的时候是打算按照常用的方式把所有上传的文件都放到UPLOAD目录下的,这样做会面临不少问题

  • 文件不好管理----上传的文件就往UPLOAD目录里扔,就没有下文了,后期管理起来只能通过Windows的资源管理器来管理了,这种方式简单的系统应付起来还行,稍微复杂点就有点力不从心了

  • 方式不够漂亮----文件存储和WEB程序都在一起,感觉有改善的空间

  • 影响WEB效率----当下载和上传操作较多时可能会影响web执行的效率,如果能把WEB服务和文件服务分开就好了

  • 不太方便扩展----或者说扩展起来比较费事,比方说做断点续传,秒传,做文件预览,等等

  • 重复工作太多----每次开发一个新系统,上传这块都要全部搞一遍,感觉太费劲,以后还很难再继续升级

只要系统涉及到频繁的文件上传下载可能就都会面临这些个个问题,既然这样,为什么不把这一块单独拎出来开发成一个服务呢,于是就有了这个QJ_FileCenter组件。

先说优点

一:部署方便:

基本上是装完即用,非常方便,不需要学习新东西

二:使用方便:

上传方式非常简单,系统目前支持两种方式上传,一种是集成了百度的WebUpload插件,通过一段JS即可调用上传组件上传,就是下面这个玩意,【同时也支持普通的post上传文件】

输入图片说明 输入图片说明

三:功能强大:

1.WebUpload多强大,看下面官网这张图就明白了,什么拖拽上传,文件夹上传,断点续传,秒传,粘贴,分片什么的完全不在话下,你自己搞这些,还能比它搞的更好吗?反正我是不行

输入图片说明

2.目前已经支持PDF,WORD,PPT格式的文件预览功能,后续会继续支持其它格式的文件预览功能

3.支持文件的压缩与解压功能,支持打包下载,支持预览zip包内容功能

4.支持后端管理功能,管理文件中心上传的文件,后续也会有更多相关的辅助功能(文件转移,文件备份什么的)

输入图片说明输入图片说明

5.目前提供了一部分基础的API,供用户调用.(例如获取压缩图片,获取office文档转化后的图片)

6.支持PC端的同时也支持移动端

7.组件提供了空间的概念,可以建立多个空间,同时为多个系统提供文件存储服务,统一管理上传的文件,免去了系统较多时文件分散在各个地方的烦恼

四:提高开发效率:

开发人员不用再操心和文件相关的操作了,所有相关的操作都由QJFileCenter来处理,大大提高了开发人员的效率

使用技术:

  • 文件信息存储在sqllite数据库里

  • API框架使用Nancy

  • 管理端页面使用QJ_Onelotus

  • office预览采用Aspose转化成图片形式

 相关资料
  • 服务调用失败 KernalEvent::SERVICE_FAIL事件 在框架层,调用servcie时,会抛出KernalEvent::SERVICE_FAIL事件,你可以监听该事件,做数据上报处理,请以异步方式上报 配置config/lister.php中的事件监听器 示例 <?php namespace src\Web\Listeners; class ServiceFailListener e

  • 服务治理流程 注册中心 服务调用 服务调用监控 服务调用失败事件 调试模式

  • Macaron 会注入一些默认服务来驱动您的应用,这些服务被称之为 核心服务。也就是说,您可以直接使用它们作为处理器参数而不需要任何附加工作。 请求上下文(Context) 该服务通过类型 *macaron.Context 来体现。这是 Macaron 最为核心的服务,您的任何操作都是基于它之上。该服务包含了您所需要的请求对象、响应流、模板引擎接口、数据存储和注入与获取其它服务。 使用方法: pa

  • 注册中心 设置注册中心 修改config/service.php中的registry_address.目前只支持Zookeeper、Redis、Mysql注册中心 Zookeeper注册中心 Zookeeper扩展安装 'registry_address' => [ 'scheme' => 'zookeeper', 'host' => '127.0.0.1',

  • 在异步HTTP SERVER中使用服务 全局方法service_center() 使用service_center($service)获取服务地址,然后使用call()方法调用公开的服务方法 $service = (yield service_center('User')); $user = (yield $service->call("User::getUser", ['id'

  • 服务组件用于扩展Kubernetes集群的功能。 服务组件用于扩展Kubernetes集群的功能。 目前仅支持以下三种组件。 Ceph CSI:CSI(Container Storage Interface)是Kubernetes对外开放的存储接口。通过CSI插件实现将Ceph存储集成到Kubernetes集群中,实现容器存储卷的持久化。 Fluentbit:Fluentbit是轻量级的日志收集工