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

NFS (Netnr.FileServer)

简单文件服务器
simple file server

appsettings.json 为配置文件,文件数据库 和 上传目录 赋予读写权限

https://github.com/netnr/np/releases

功能

接口

  • /API/CreateApp 创建 App
  • /API/GetAppList 获取 App 列表
  • /API/GetAppInfo 获取 App 信息
  • /API/ResetAll 清空数据库和上传目录
  • /API/ClearTmp 清理临时目录
  • ==== 以上为管理接口,需密码验证,设为空密码可关闭管理接口
  • /API/GetToken 根据 AppId、AppKey 请求 Token
  • /API/CreateFixedToken 创建 FixedToken
  • /API/DelFixedToken 删除 FixedToken
  • /API/Upload 上传文件
  • /API/UploadChunk 分块上传文件
  • /API/Copy 复制已上传的文件
  • /API/Cover 上传文件覆盖
  • /API/Delete 删除文件
  • /API/UploadTmp 上传临时文件

授权

首先创建 App 得到 AppId 、AppKey,然后根据 AppId、AppKey 请求得到 Token,
Token 可根据配置设置有效期,默认 30 分钟有效,缓存 20 分钟(即 20 分钟内请求 Token 返回结果相同)
或创建 FixedToken 固定永久有效

分离

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

# Windows 软链接
mklink /d 软链接目录 物理目录 # 命令格式
mklink /d static D:\static # 示例 在当前创建 static 目录 指向 D 盘的 static 目录

# Linux 软链接
ln -s 源文件 软链接文件 # 命令格式
ln -s /mnt/static/site/fileserver/wwwroot/static # 示例 static 指向 /mnt/static 目录
posted @   netnr  阅读(2110)  评论(2编辑  收藏  举报
编辑推荐:
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· C++代码改造为UTF-8编码问题的总结
· DeepSeek 解答了困扰我五年的技术问题
· 为什么说在企业级应用开发中,后端往往是效率杀手?
· 用 C# 插值字符串处理器写一个 sscanf
阅读排行:
· [翻译] 为什么 Tracebit 用 C# 开发
· Deepseek官网太卡,教你白嫖阿里云的Deepseek-R1满血版
· 2分钟学会 DeepSeek API,竟然比官方更好用!
· .NET 使用 DeepSeek R1 开发智能 AI 客户端
· 刚刚!百度搜索“换脑”引爆AI圈,正式接入DeepSeek R1满血版
点击右上角即可分享
微信分享提示