一个基于Nodejs 计划使用Koa2 + Typescript + typeorm + socketIo的一个简易nas服务系统。
Vue3+Typescript的PC浏览器端在这 基于electron的PC客户端在这 基于Flutter的移动客户端在这
- 用户登录
- 文件存取管理 断点上传下载
- 音频播放器
- 视频播放器
- 远程下载
很早就有这个想法, 之前要了公网ip, 现在封城在家无聊开整吧。算是对nodejs的一个练习。今天硬件准备已到货, 老电脑, bios限制cpu功耗35w, 换上静音电源加猫扇。刷好centos 配置好ssh smb文件共享, 开发机连上, 配置服务器环境完成。
客户端:
将上传文件解析为Buffer, 生成md5(用于验证合并后文件)
拆分文件数据并标记索引加入数组
查询已上传分片的索引值 上传剩余分片数据
所有上传完成通知后端合并分片数据
服务端:
首次接受分片数据时创建临时文件夹
接收合并通知 合并分片 验证md5
合并验证通过删除临时文件