file-service 项目安装和配置指南
1. 项目基础介绍和主要编程语言
file-service
是一个基于 ASP.NET Core 的可伸缩、通用的文件服务器。它主要用于处理后端项目中的头像、图片、音频、视频等上传/下载需求。该项目的主要编程语言是 C#。
2. 项目使用的关键技术和框架
- ASP.NET Core: 这是一个跨平台的开源框架,用于构建现代的、基于云的、互联网连接的应用程序。
- RESTful API: 项目采用 RESTful 架构的 API 接口,支持多语言客户端。
- .NET Standard: 项目中包含基于 .NET Standard 的服务端和客户端 SDK,用于生成 token、上传/下载文件等操作。
3. 项目安装和配置的准备工作和详细安装步骤
3.1 准备工作
在开始安装和配置之前,请确保您的开发环境满足以下要求:
- .NET SDK: 安装最新版本的 .NET SDK,确保您可以运行和开发 ASP.NET Core 应用程序。
- Git: 安装 Git 以便从 GitHub 克隆项目代码。
- 开发工具: 推荐使用 Visual Studio 或 Visual Studio Code 进行开发。
3.2 安装步骤
3.2.1 克隆项目代码
首先,使用 Git 克隆项目代码到本地:
git clone https://github.com/md-frank/file-service.git
3.2.2 打开项目
使用 Visual Studio 或 Visual Studio Code 打开克隆下来的项目文件夹 file-service
。
3.2.3 还原依赖包
在项目根目录下运行以下命令,还原项目所需的依赖包:
dotnet restore
3.2.4 配置文件服务器
在 Startup.cs
文件中配置文件服务器:
public void ConfigureServices(IServiceCollection services)
{
services.AddFileService(opts =>
{
opts.Host = "fs.mondol.info"; // 文件服务器域名
opts.AppSecret = "xxxxxx"; // 加密密钥,需要与文件服务器相同
});
}
3.2.5 生成访问令牌
在业务服务器中生成访问令牌:
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);
3.2.6 前端使用
在前端代码中使用文件上传功能:
IFileServiceClient fileClient; // 此实例可通过 DI 框架获得
var ownerToken = "业务服务器返回的token";
var periodMinute = 0; // 有效期,0 不过期
var updResult = await fileClient.UploadAsync(ownerToken, "文件路径", periodMinute);
var url = updResult.Data.Url; // 得到文件根地址
3.3 运行项目
在项目根目录下运行以下命令启动项目:
dotnet run
项目启动后,您可以通过浏览器访问项目的 API 接口,进行文件的上传和下载操作。
通过以上步骤,您应该能够成功安装和配置 file-service
项目,并开始使用其提供的文件上传和下载功能。