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