1 Star 1 Fork 0

liuhll / file-service

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
MIT

ums-file-service

服务端

部署

以服务的方式部署到Linux服务器。

  1. Linux服务器预先安装.net6运行时环境,可以参考;

  2. 将服务端的代码发布后拷贝到Linux服务器下的/var/www/fileserverapp目录下;

  3. fileserverapp.service文件拷贝到/etc/systemd/system/fileserverapp.service;

  4. 通过如下命令启动fileserverapp.service服务,并确认它正在运行;

sudo systemctl enable fileserverapp.service

sudo systemctl status fileserverapp.service

参考 可以参考dotnet 文档 查看如何将dotnet应用设置为Linux服务。

配置

与文件服务相关的配置在FileServerSetting配置节点下进行配置,支持如下配置项目:

配置项 说明 缺省值 备注
Port 文件服务端口 10021
RootPath 文件上传保存根目录 /filePath
UseLibuv 是否使用Libuv true
SoBacklog dotnet SoBacklog 1024
DbType 文件信息数据库保存类型 SqlLite 支持:SqlLite、SqlServer;

数据库链接配置

文件信息保存数据库支持:SqlLite、SqlServer,通过配置项FileServerSetting:DbType进行配置。

  1. 如果选择选择SqlLite作为数据库,那么数据库文件保存在家目录下.ums-file-server\fileinfo.db

  2. 如果选择SqlServer作为数据库,那么需要在通过配置项ConnectionStrings:default指定数据库链接;

客户端(wpf)

将客户端代码直接发布后,即可安装到任意桌面端电脑,首次启动后需要对其进行配置。

客户端配置

配置项 说明 缺省值 备注
文件服务地址 格式为: ip:port
文件分片大小 102400
链接超时(ms) 1000
NettyBacklog大小 1024
步进 文件上传、下载步进大小

配置文件保存到家目录下的.ums-file-client/appsetting.json,用户可以打开后对配置进行调整。

配置好后,客户端可以通过列表的方式显示文件上传、下载的信息,并且客户端可以以托盘的方式最小化到右下角。

上传、下载的文件信息将会被保存到家目录下.ums-file-client/fileinfo.db

测试

文件客户端提供了一个websocket服务,该服务地址为:ws://127.0.0.1:10091/ws。其他终端可以与该服务地址建立websocket链接,然后通过指定的消息消息实现文件的上传和下载。

  1. 文件上传
{
  "localFileName": "D:\\Desktop\\ums-im-main.zip",
  "serverFileName": "ums-im-main3.zip",
  "operationType": 0
}
  1. 文件下载
{
  "localFileName": "D:\\Desktop\\test\\测试下载文件21.7z",
  "fileId": "c81dd444-15ed-46dd-b193-6257e3ffdee3",
  "operationType": 1
}
// 或是
{
  "localFileName": "D:\\Desktop\\ums-im-main.zip",
  "serverFileName": "ums-im-main3.zip",
  "operationType": 1
}
配置项 说明 缺省值 备注
localFileName 本地文件全路径
serverFileName 服务端文件相对路径地址
fileId 文件id 仅下载时支持配置,下载时与serverFileName属性二选一
operationType 操作类型 0: 上传; 1: 下载

客户端(webapi)

该终端是一个asp.net core 的webapi服务,可以通过iis或是NGINX进行部署。

提供了如下三个接口:

  1. 文件上传(/File/Upload--POST)

  2. 文件下载(/File/Download--POST)

  3. 文件操作(文件上传、下载)(/File/Operation--POST)

MIT License Copyright (c) 2024 liuhll Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

简介

文件分片上传下载服务 展开 收起
C# 等 3 种语言
MIT
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/liuhll2/file-service.git
git@gitee.com:liuhll2/file-service.git
liuhll2
file-service
file-service
main

搜索帮助

344bd9b3 5694891 D2dac590 5694891