基于ASP.NET Core的可伸缩、通用的文件服务器File-service

文件存储系统
编辑评级:
分享:

项目基本信息

开发协议 GPLv3
操作系统 Windows  Linux  OS X 
开发语言 C#
项目所有者 md-frank
收录时间 2018-10-18

项目介绍

一个基于ASP.NET Core的可伸缩、通用的文件服务器。
通常后端项目可能会有头像、图片、音频、视频等上传/下载需求,这些需求都可以抽象为文件服务。

功能特点

系统架构

后端使用

配置业务服务器

//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,则为用户ID
var 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; //得到文件根地址

同类项目推荐

相似项目推荐

相关教程