欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

基于 .NET Core 的简单文件服务器

程序员文章站 2024-01-26 10:02:40
Netnr.FileServer 基于 .NET Core 的简单文件服务器,数据库为SQLite 源码 https://github.com/netnr/blog https://gitee.com/netnr/blog 为了方便维护公共类库,项目放置一个解决方案,没有分开 配置 为配置文件 正式 ......

netnr.fileserver

基于 .net core 的简单文件服务器,数据库为sqlite

源码

  • 为了方便维护公共类库,项目放置一个解决方案,没有分开

配置

appsettings.json 为配置文件


正式环境在创建 app 之后需设置 isdev:false,设置直接生效不用重启服务

文件数据库 和 上传目录 赋予读写权限


运行

在根目录运行:dotnet netnr.fileserver.dll "http://*:42"
linux后台运行:nohup dotnet netnr.fileserver.dll "http://*:42" &
windows可直接双击netnr.fileserver.exe,或命令运行netnr.fileserver.exe "http://*:42" 不能关闭
或者说挂载iis

访问

服务运行后,访问 {host}/swagger,可以直接使用所有的接口

授权

首先创建 app 得到 appid 、appkey,然后根据 appid、appkey 请求得到 token,
token 可根据配置设置有效期,默认30分钟有效,缓存20分钟(即20分钟内请求token返回结果相同)

接口

  • /api/createapp 创建app,非正式环境使用
  • /api/getapplist 获取app列表,非正式环境使用
  • /api/resetall 清空数据库和上传目录,非正式环境使用
  • 在正式环境下一定要修改配置 isdev:false , 关闭以上接口

  • /api/gettoken 根据appid、appkey请求token
  • /api/upload 上传文件
  • /api/copy 复制文件
  • /api/cover 上传文件覆盖
  • /api/delete 删除文件

上传
默认上传到目录 wwwroot/static//static/可根据配置文件配置

分离
为了更好的维护或数据的安全,需要分离文件数据库和上传的静态目录,
可以用 软链接 的方式来做, windows的快捷方式

// windows 软链接
// 命令格式
mklink /d 软链接目录 物理目录 
// 示例 在当前创建 static 目录 指向 d盘的 static 目录
mklink /d static d:\static
# linux 软链接
ln -s 源文件 软链接文件 # 命令格式
# 示例 gs 指向 /netnr/site/static 目录
ln -s /netnr/site/static /netnr/site/www/wwwroot/gs

发布
https://github.com/netnr/netnr.fileserver/releases
*.rely.zip为环境依赖;其它的为独立包可直接运行