一个基于ASP.NET Core的可伸缩、通用的文件服务器。

通常后端项目可能会有头像、图片、音频、视频等上传/下载需求,这些需求都可以抽象为文件服务。

功能特点支持Linux(推荐)、Windows

可伸缩式架构,支持部署1-N台文件服务器

RESTful架构的API接口,支持多语言客户端

支持文件秒传、断点续传、远程拉取上传

支持为用户指定磁盘空间配额

支持自定义文件处理器

系统架构

文件的上传/下载通常由客户端直接与文件服务器交互,上传时需要提供代表用户身份token(由业务服务器生成),成功后会返回文件根地址。

也可以直接由业务服务器上传返回文件根地址给客户端。

源码中包含基于.Net Standard的服务端SDK,可以生成token、上传文件等

源码中包含基于.Net Standard的客户端SDK,可以上传/下载文件等

后端使用

配置业务服务器//Startup.cs代码片段public void ConfigureServices(IServiceCollection services){    //....    services.AddFileService(opts =>    {        opts.Host = "fs.mondol.info"; //文件服务器域名        opts.AppSecret = "xxxxxx"; //加密密钥,需要与文件服务器相同    });}

生成访问令牌IFileServiceManager fileSvceMgr; //此实例可通过DI框架获得//根据业务规定其意义,例如:1-代表管理员,2-代表用户var ownerType = 2;var ownerId = 2; //如果ownerType=2,则为用户IDvar validTime = TimeSpan.FromDays(2); //token有效期var ownerToken = fileSvceMgr.GenerateOwnerTokenString(ownerType, ownerId, validTime);

前端使用

文件上传IFileServiceClient fileClient; //此实例可通过DI框架获得var ownerToken = "业务服务器返回的token";var periodMinute = 0; //有效期,0不过期var updResult = await fileClient.UploadAsync(ownerToken, "文件路径", periodMinute);var url = updResult.Data.Url; //得到文件根地址

.net 文件服务器系统,File-service基于ASP.NET Core的可伸缩、通用的文件服务器相关推荐

  1. .NET Conf 2020 - 基于ASP.NET Core构建可热插拔的插件化系统

    文章标题:.NET Conf 2020 - 基于ASP.NET Core构建可热插拔的插件化系统 作者:Lamond Lu 项目地址:https://github.com/lamondlu/CoolC ...

  2. 基于Asp.Net Core打造轻量级内部服务治理RPC(一)

    继之前的<Asp.Net Core + Docker 搭建>文章末尾说过的,将陆续编写基于asp.net core 打造一个内部服务治理的rpc框架.不过前端时间较忙,所以搁置了一段时间. ...

  3. 基于ASP.Net Core开发的一套通用后台框架

    基于ASP.Net Core开发一套通用后台框架 写在前面 这是本人在学习的过程中搭建学习的框架,如果对你有所帮助那再好不过.如果您有发现错误,请告知我,我会第一时间修改. 知其然,知其所以然,并非重 ...

  4. 基于ASP.NET Core SignalR的流式传输

    基于ASP.NET Core SignalR的流式传输 SignalR概述 SignalR是ASP.NET Core下非常流行的实现Web实时功能的库.微软再文档中列出了适合的应用场景: 适合 Sig ...

  5. AServer - 基于Asp.net core Kestrel的超迷你http服务器

    AServer是基于ASP.NET Core Kestrel封装的一个超迷你http服务器.它可以集成进你的Core程序里,用来快速的响应Http请求,而不需要集成整个ASP.NET Core MVC ...

  6. 基于ASP.NET Core 6.0的整洁架构

    背景 最近尝试录制了一个系列视频:<ASP.NET Core 6.0+Vue.js 3 实战开发>,本节是视频内部整洁架构的理论和实战的文字稿.因为在录制之前,我通常会编写完整的文字内容作 ...

  7. (一)学习了解OrchardCore笔记——开篇:基于asp.net core的OrchardCore

    想深入了解OrchadCore源码许久了,但是读源码的时候遇到很多问题而网上的参考资料太少了(几乎都是OrchadCms不带OrchardCore的),现在解决得差不多了,做下笔记方便自己查看,有错误 ...

  8. 如何基于asp.net core的Identity框架在mysql上作身份验证处理

    首先了解这个概念,我一开始也是理解和掌握基本的概念,再去做程序的开发.Identity框架是微软自己提供,基于.net core平台,可拓展.轻量 级.面向多个数据库的身份验证框架.IdentityS ...

  9. 推荐一本基于ASP.NET Core 3.1的实战来了

    第一本基于 ASP.NET Core 3.1 的实战书来了 我脱产花费了一年时间创作书籍<深入浅出 ASP.NET Core>,终于上架了.目前天猫.京东等主流平台均有销售. 这本书是基于 ...

最新文章

  1. sift论文_卷积神经网络设计相关论文
  2. Java如何优雅的实现时间控制
  3. 线程了解以及创建线程的Threading模块中的部分方法
  4. (最新合集)计算机网络谢希仁第七版 第一章课后答案
  5. Java解决循环注入问题
  6. sql中concat函数_SQL中的CONCAT函数概述和示例
  7. JavaScript重定向Referer丢失
  8. 行走在centos的弯路上:Restarting network (via systemctl):: Job for network.service failed. ...
  9. 基于SSM抑郁症自检测及初级自治疗网站的设计实现
  10. C++Error2208:...尝试引用已删除的函数
  11. 水的智慧:孔子、老子、禅语 人生处世当如水,善待一切
  12. 高并发处理之商品详情页
  13. 一次探索:基于香农熵预测DNA中编码序列,python实现。
  14. java 银行支付接口_cbcPayment 建设银行Java支付接口详细说明文档dsdsdds - 下载 - 搜珍网...
  15. Foxmail 邮件的备份与恢复
  16. 阿里云视频点播服务 aliyun-sdk-vod-upload 引入依赖
  17. Bosun 预警配置
  18. 区块链如何应用于供应链金融?
  19. SAP 定义打印机纸张类型
  20. javax.mail.MessagingException: Could not connect to SMTP host

热门文章

  1. python3项目-终于找到python3项目实战教程
  2. python如何做散点图-Python-如何为散点图制作动画?
  3. python装饰器作用-python中装饰器的作用
  4. python四大软件-9个使用Python的世界级软件公司
  5. python下载图片-python下载百度图片,python图片下载程序
  6. tensorflow2.0支持的python版本-TensorFlow 版本兼容性
  7. python流程控制语句-Python流程控制语句
  8. roaringbitmap java,BitMap、RoaringBitmap与JavaEWAH
  9. 2017年最受欢迎的10个编程挑战网站
  10. cygwin中安装软件