分布式网盘课程介绍
一直想做一个分布式的项目,看来看去想到了网盘 一是没有涉足过网盘这个领域,二是网盘做出来还是可以实际用起来的(比如我课程里面的一些安装包,我可以放网盘里面),三是网盘的技术栈也可以很丰富,用来教学,

分布式网盘课程介绍

发布时间:2026-02-11 (2026-02-11)

一直想做一个分布式的项目,看来看去想到了网盘

一是没有涉足过网盘这个领域,二是网盘做出来还是可以实际用起来的(比如我课程里面的一些安装包,我可以放网盘里面),三是网盘的技术栈也可以很丰富,用来教学,很合适

项目功能

  1. 分布式文件存储

    分布式文件存储,底层使用minio、支持rustFS等新兴对象存储,以及支持第三方云存储

    可直接在界面上完成集群创建、集群数据同步,动态新增、删减节点

  2. 丰富的上传、下载功能

    1. 支持小文件直传、大文件分片上传、文件秒传、断点续传
    2. 支持小文件下载、大文件分片下载
  3. 上传、下载三级限速,上传、下载并发任务数限制

    1. 可限制系统级别的上传、下载速度,避免程序占满带宽
    2. 按照会员等级限速 普通用户 vip svip
    3. 用户可配置上传、下载限速
  4. 文件分享链接

    生成分享链接(带有效期 / 提取码)

    如果分享的文件小于一个阈值(管理员可配置),接收的用户可以不用登录就可直接满速下载

  5. 空间容量限制

    存储空间统计(已用 / 总容量)

  6. 文本文件可版本管理

    可编辑文本文件且编辑之后拥有版本回溯功能

  7. 文件封面和高级预览

    部分文件可获取文件封面,例如(pdf、视频)

    可在界面上预览pdf、office文件

  8. 自动审核、人工审核,双重审核保驾护航

    采用后审核机制,先按照关键词自动审核文件名,文档类型的文件内容,如果有违规的,可人工复核

    违规的文件,只能自己查看、下载,不能分享

  9. 回收站

    主要是为了防止误操作

项目架构图

原型图

登录

用户 文件列表

文件列表 图标模式

文件版本列表

文件分享

文件接收

文件详情

上传中

用户-开通会员

用户个人中心

用户-回收站

管理员-仪表盘

管理员-文件审核

管理员-节点列表

管理员-集群列表

前端截图

用户文件列表页面

上传任务页面

文件分享页面

文件接收页面

视频播放

文件详情

文件预览

文本编辑

版本管理

个人中心

集群管理

课程目录

后端部分

1.枫枫分布式网盘.mp4
2.如何学习本课程.mp4
3.项目搭建.mp4
4.原型图介绍.mp4
5.表结构搭建-用户表.mp4
6.表结构搭建-文件表.mp4
7.表结构搭建-文件分享表.mp4
8.表结构搭建-文件上传任务表.mp4
9.表结构-文件下载表.mp4
10.表结构-用户配置表.mp4
11.表结构迁移.mp4
12.表结构定义的补充说明.mp4
13.用户管理-用apifox进行接口管理.mp4
14.用户管理-初始化mysql,redis必须成功.mp4
15.用户管理-用户登录.mp4
16.用户管理-用户列表.mp4
17.用户管理-用户详情.mp4
18.用户管理-用户信息修改.mp4
19.用户管理-结构体转map通用函数.mp4
20.用户管理-用户修改密码.mp4
21.用户管理-管理员修改用户信息.mp4
22.用户管理-用户注册.mp4
23.用户管理-redis验证邮箱部分的测试用例.mp4
24.用户管理-用户注册接口.mp4
25.用户管理-用户注册第一步.mp4
26.用户管理-发邮件.mp4
27.用户管理-用户重置密码.mp4
28.用户管理-用户注销.mp4
29.用户管理-用户删除.mp4
30.用户管理-注意点-创建用户配置表.mp4
31.用户管理-注意点-代码分层.mp4
32.文件管理-文件上传逻辑梳理.mp4
33.文件管理-对象存储的安装.mp4
34.文件管理-minio基本操作.mp4
35.文件管理-项目初始化存储桶.mp4
36.小文件上传-解析文件大小.mp4
37.小文件上传.mp4
38.小文件上传测试.mp4
39.小文件上传-前缀的限制.mp4
40.小文件上传-获取文件类型.mp4
41.小文件上传-容量判断和数据写入失败的补偿措施.mp4
42.使用锁解决并发问题.mp4
43.文件重名的解决.mp4
44.文件重名之后再重名的解决.mp4
45.文件查询重名的接口.mp4
46.用户文件列表.mp4
47.用户文件列表-接口测试.mp4
48.用户文件列表-新增is_dir字段.mp4
49.创建目录.mp4
50.上传文件判断目录.mp4
51.修改文件名.mp4
52.用户删除文件.mp4
53.文件路径的bug解决.mp4
54.文件详情.mp4
55.文件上传任务列表.mp4
56.文件上传任务记录列表删除.mp4
57.大文件分片上传流程.mp4
58.使用ai编写前后端分片上传代码.mp4
59.简单讲解ai生成的分片上传.mp4
60.minio-etag的生成逻辑.mp4
61.分片上传-初始化分片上传.mp4
62.分片上传-minio初始化分片上传.mp4
63.分片上传-初始化分片上传接口测试.mp4
64.通过文件后缀判断文件类型到底合理吗?.mp4
65.分片上传-单个分片上传.mp4
66.分片上传-minio单个分片上传.mp4
67.分片上传-分片上传接口开发完成.mp4
68.编写文件分片脚本解决分片上传.mp4
69.使用apifox上传剩下的分片.mp4
70.分片上传-合并分片.mp4
71.分片上传-合并分片接口开发.mp4
72.分片上传-合并分片接口测试.mp4
73.minio文件etag的计算方式.mp4
74.文件唯一id的计算优化.mp4
75.基于之前ai生成的前端代码修改为我们项目可用的代码.mp4
76.解决前端代码的一些bug.mp4
77.分片上传-实现秒传功能.mp4
78.秒传功能优化.mp4
79.任务初始化失败的情况下删除任务.mp4
80.文件秒传功能.mp4
81.字段名叫fileID的bug解决.mp4
82.文件秒传接口测试.mp4
83.任务暂停、继续、取消.mp4
84.文件上传任务状态变更接口测试.mp4
85.bug修复-删除的文件也判断秒传.mp4
86.文件下载部分.mp4
87.bs架构下的文件下载.mp4
88.安全问题-文件路径穿越防范.mp4
89.获取文件签名下载地址接口开发.mp4
90.文件签名下载.mp4
91.文件下载接口测试.mp4
92.文件下载支持范围操作.mp4
93.文件下载支持range接口测试.mp4
94.浏览器file system access api.mp4
95.前端分片下载文件.mp4
96.cs架构下的文件分片下载.mp4
97.客户端分片下载编写2.mp4
98.自己编写文件分片下载3.mp4
99.文件限速-原理讲解.mp4
100.gin下载文件限速.mp4
101.增加限速配置.mp4
102.限速速度解析.mp4
103.获取下载限速值.mp4
104.基本的下载限速完成.mp4
105.低限速的阻塞问题.mp4
106.请求取消和支持range.mp4
107.下载并发数的限制.mp4
108.文件下载限速接口测试.mp4
109.增加etag和适配head请求.mp4
110.上传限速.mp4
111.大文件上传限速.mp4
112.bug修复-限速导致的问题.mp4
113.文件预览-图片压缩.mp4
114.文件预览-使用ffmpeg获取文件首帧.mp4
115.代码层面调用ffmpeg.mp4
116.在linux运行go-fitz处理pdf.mp4
117.poppler库的使用.mp4
118.go操作pdftoppm.mp4
119.什么时机做文件预览以及接口注入.mp4
120.配置文件处理相关的可执行文件的路径.mp4
121.判断文件类型去进行文件处理.mp4
122.oss文件下载和预签名地址生成.mp4
123.处理图片和pdf.mp4
124.pdf处理失败问题排查.mp4
125.图片上传到预览oss.mp4
126.上传图片到预览oss里面测试.mp4
127.优化文件处理的代码.mp4
128.获取视频信息.mp4
129.获取pdf信息.mp4
130.文件编辑功能-新增文件版本表.mp4
131.更新文件版本.mp4
132.更新文件版本2.mp4
133.更新文件版本接口测试.mp4
134.文件版本列表.mp4
135.文件版本恢复.mp4
136.文件版本下载.mp4
137.修改文件版本描述.mp4
138.文件版本删除.mp4
139.文件分享需求.mp4
140.用户分享文件.mp4
141.用户分享文件2.mp4
142.文件分享记录.mp4
143.增加分享类型标识我分享的和我接收的.mp4
144.分享记录删除.mp4
145.文件分享详情.mp4
146.用户接收分享详情.mp4
147.提取码验证.mp4
148.分享文件列表.mp4
149.分享文件列表2.mp4
150.带前缀查文件列表.mp4
151.文件分享保存.mp4
152.文件分享保存2.mp4
153.文件保存接口测试.mp4
154.路径前缀问题.mp4
155.路径前缀问题解决.mp4
156.用户上传文件、分享文件、其他用户保存文件全流程测试.mp4
157.用户的目录列表.mp4
158.文件分享免登录下载1.mp4
159.文件分享免登录下载2.mp4
160.文件分享完成.mp4
161.回收站文件列表.mp4
162.回收站文件还原.mp4
163.文件还原之后的重名问题.mp4
164.回收站文件删除1.mp4
165.回收站文件删除2.mp4
166.文件审核.mp4
167.ac自动机.mp4
168.敏感词加载1.mp4
169.敏感词加载2.mp4
170.敏感文件列表.mp4
171.敏感词文件导入.mp4
172.敏感词文件删除.mp4
173.敏感词文件下载.mp4
174.文件审核.mp4
175.文件审核列表.mp4
176.审核文件.mp4
177.文件审核记录删除.mp4
178.文件审核数据统计.mp4
179.管理员文件列表.mp4
180.文件管理数据统计.mp4
181.文件列表数据统计2.mp4
182.管理员删除文件列表.mp4
183.文件审核完成.mp4
184.订单-下单接口定义.mp4
185.下单-表结构定义.mp4
186.下单接口开发.mp4
187.订单状态接口.mp4
188.订单回调接口.mp4
189.订单列表接口.mp4
190.订单记录删除.mp4
191.补充-支付成功之后修改用户vip和到期时间.mp4
192.数据统计-total部分.mp4
193.minio-admin操作讲解.mp4
194.封装minio-admin.mp4
195.七日内注册人数.mp4
196.文件类型统计.mp4
197.会员占比.mp4
198.今日热门操作.mp4
199.站点详情.mp4
200.站点详情接口测试.mp4
201.站点配置更新1.mp4
202.站点配置更新2.mp4
203.站点配置更新3.mp4
204.站点配置开放接口.mp4
205.minio集群部署.mp4
206.minio集群停机扩容方案.mp4
207.minio集群无停机扩容方案.mp4
208.minio数据同步.mp4
209.minio集群部署配置tls.mp4
210.rustfs集群部署.mp4
211.madmin-go库支持rustfs.mp4
212.第三方库代码修改的正确方式.mp4
213.使用自己的第三方库.mp4
214.支持其他云存储.mp4
215.增加系统维护开关.mp4
216.节点管理表结构搭建和接口定义.mp4
217.ssh连接.mp4
218.节点创建和节点options.mp4
219.节点列表和节点删除.mp4
220.集群管理表结构搭建.mp4
221.go语言生成证书和私钥.mp4
222.创建集群接口.mp4
223.集群创建接口测试.mp4
224.集群列表.mp4
225.删除集群.mp4
226.启动集群.mp4
227.生成docker-compose内容.mp4
228.下发配置到节点并启动集群.mp4
229.停止集群.mp4
230.启动集群测试.mp4
231.集群增加部署位置参数.mp4
232.使用mc工具进行别名设置.mp4
233.集群数据同步.mp4
234.集群同步任务.mp4
235.同步任务持久化.mp4
236.集群启动后设置别名.mp4
237.集群同步状态.mp4
238.设置为主集群.mp4
239.动态修改连接的集群.mp4
240.项目部署.mp4
241.项目部署流程再熟悉.mp4
242.联调部分的安排.mp4
243.联调-集群增加options接口.mp4
244.联调-增加邮箱是否启用的配置.mp4
245.联调-集群支持外部集群.mp4
246.联调-集群启动的一些问题.mp4
247.联调-创建集群又删除的bug修复.mp4
248.联调-集群更新接口.mp4
249.联调-集群列表返回sk.mp4
250.联调-文件表增加文件审核状态.mp4
251.联调-修复三个小问题.mp4
252.联调-增加文件分类字段.mp4
253.联调-文件复制接口.mp4
254.联调-文件复制接口测试.mp4
255.联调-文件预览图设置开放策略.mp4
256.联调-文件预览反向代理.mp4
257.联调-分片上传初始化优化.mp4
258.联调-增加ws接口.mp4
259.联调-测试ws接口.mp4
260.联调-文件任务列表增加type查询字段.mp4
261.联调-增加上传任务数据统计接口.mp4
262.联调-新增用户配置接口.mp4
263.联调-新增用户目录列表接口.mp4
264.联调-新增回收站统计接口.mp4
265.联调-文件下载记录接口1.mp4
266.联调-文件下载记录接口2.mp4
267.联调-文件分享删除接口去掉shareType.mp4
268.联调-文件分享保存的bug.mp4
269.联调-文件分享的文件prefix处理问题.mp4
270.联调-我的目录接口优化.mp4
271.联调-文件详情接口目录返回文件大小.mp4
272.联调-单独提供视频播放的接口.mp4
273.联调-增加一个文件预览接口.mp4
274.联调-增加文件移动接口.mp4
275.联调-文件移动接口优化.mp4
276.联调-文件分类增加文本文件.mp4
277.联调-文件列表接口加上文件versionID.mp4
278.联调-修改目录导致的问题.mp4
279.联调-文件分享接收查目录的问题.mp4
280.联调-站点配置增加站点信息.mp4
281.联调-物理删除文本文件时,关联删除版本记录.mp4
282.联调-初始化时给存储桶设置版本.mp4
283.联调-同一个目录下,上传相同的文件的逻辑优化.mp4
284.联调-重名文件覆盖逻辑.mp4
285.用户容量计算优化.mp4
286.联调-物理删除文件时,关联删除文件预览图.mp4
287.联调-上传成功的文件删除之后,再上传相同文件会失败.mp4
293后端项目运行.mp4
288.联调-文件下载失败的问题.mp4
289.联调-文件分享人数限制条件.mp4
290.联调-ws接口优化.mp4
291.ws接口错误响应优化.mp4
292.前端完成之后的项目部署.mp4

前端部分

1.网盘前端课程介绍.mp4
2.代码拉取和仓库创建.mp4
3.前端项目运行.mp4
4.登录框编写.mp4
5.登录逻辑实现.mp4
6.首页导航栏.mp4
7.根据站点配置显示图片验证码.mp4
8.图片验证码组件.mp4
9.用户注册界面编写.mp4
10.用户注册功能实现.mp4
11.将切换状态放入store.mp4
12.是否启用邮箱配置的判断.mp4
13.通过函数创建组件.mp4
14.全局导航守卫中判断登录.mp4
15.文件分享配置.mp4
16.站点通用配置组件编写.mp4
17.站点其他配置.mp4
18.vip配置.mp4
19.节点列表.mp4
20.列表组件显示options.mp4
21.节点创建.mp4
22.集群列表.mp4
23.添加集群.mp4
24.添加集群的节点列表配置.mp4
25.集群添加.mp4
26.增加对外部集群的支持.mp4
27.集群操作.mp4
28.集群数据同步.mp4
29.集群更新.mp4
30.集群展开显示节点.mp4
31.集群展开显示优化.mp4
32.集群操作的一些细节问题.mp4
33.数据同步显示进度.mp4
34.集群显示ak和sk优化.mp4
35.用户列表展示.mp4
36.用户存储容量显示.mp4
37.用户编辑.mp4
38.输入框图片公共上传组件.mp4
39.文件审核列表.mp4
40.文件审核状态变更.mp4
41.敏感词文件列表.mp4
42.敏感词文件上传.mp4
43.敏感词文件下载.mp4
44.敏感词文件删除.mp4
45.订单列表.mp4
46.订单列表查询.mp4
47.文件列表.mp4
48.文件列表显示优化.mp4
49.数据统计-total部分.mp4
50.数据统计-用户增长趋势.mp4
51.数据统计-文件类型分布.mp4
52.数据统计-会员占比.mp4
53.数据统计-今日热门操作.mp4
54.更换后台管理的图标.mp4
55.后台快捷操作.mp4
56.后台部分ts类型问题解决.mp4
57.前台首页基本结构搭建.mp4
58.首页文件列表页面搭建.mp4
59.首页文件列表拖拽上传文件部分.mp4
60.首页文件列表.mp4
61.新建文件夹功能.mp4
62.进目录功能.mp4
63.面包屑点击跳转功能.mp4
64.进目录路由持久化.mp4
65.文件删除.mp4
66.表格实现右键菜单功能.mp4
67.修改文件名.mp4
68.文件列表排序.mp4
69.修复首页文件列表的一些问题.mp4
70.文件粘贴.mp4
71.文件重名的弹框.mp4
72.文件重名公共组件编写.mp4
73.面包屑跳转的一个小bug解决.mp4
74.文件列表的不同展示形式.mp4
75.图标模式下的文件列表显示.mp4
76.图标模式下右键菜单,全选.mp4
77.右键菜单优化.mp4
78.文件列表鼠标框选组件.mp4
79.图标模式下的重命名.mp4
80.取消文档树模式.mp4
81.全局右键菜单1.mp4
82.全局右键菜单2.mp4
83.全局右键菜单3.mp4
84.元素右键菜单.mp4
85.新建文件夹组件.mp4
86.面包屑超长问题.mp4
87.目录导航面包屑组件封装.mp4
88.文件上传-小文件上传.mp4
89.小文件上传的一些细节问题.mp4
90.文件拖拽上传.mp4
91.其他的一些上传入口.mp4
92.大文件上传-api定义.mp4
93.大文件上传-分片上传.mp4
94.大文件上传-大文件上传流程走通.mp4
95.断点续传判断.mp4
96.文件并发上传优化.mp4
97.分片上传失败的错误处理.mp4
98.增加ws连接.mp4
99.组件监听ws消息.mp4
100.ws连接失败导致node退出的问题.mp4
101.传输页面.mp4
102.上传任务页面.mp4
103.文件上传任务列表.mp4
104.文件上传任务显示美化.mp4
105.文件上传任务进度显示.mp4
106.任务删除.mp4
107.任务状态变更.mp4
108.上传速度的获取.mp4
109.上传进度优化.mp4
110.上传任务暂停和启动.mp4
111.上传过程中防刷新和上传取消.mp4
112.上传状态的一个小问题解决.mp4
113.目录读取.mp4
114.目录前缀问题.mp4
115.目录上传.mp4
116.文件夹创建和文件上传后置.mp4
117.其他上传入口完成.mp4
118.上传文件夹的bug修复.mp4
119.用户配置页面1.mp4
120.用户配置页面2.mp4
121.用户选择目录.mp4
122.个人中心页面.mp4
123.个人中心显示回收站统计信息.mp4
124.重新跳转路由结构并且增加欢迎页面.mp4
125.回收站列表页面.mp4
126.回收站文件操作.mp4
127.页面头部组件.mp4
128.文件下载.mp4
129.文件下载记录.mp4
130.文件分享模态框.mp4
131.文件分享入口.mp4
132.创建分享链接之后的页面显示.mp4
133.文件分享链接复制.mp4
134.用户分享路由结构搭建.mp4
135.简单表格组件封装.mp4
136.我的分享列表.mp4
137.我保存的分享列表.mp4
138.文件接收api定义.mp4
139.文件接收验证页面.mp4
140.显示文件列表.mp4
141.显示文件框.mp4
142.是否请求verify的判断条件.mp4
143.显示用户分享的文件列表.mp4
144.文件分享下的文件列表prefix持久化.mp4
145.文件分享的保存.mp4
146.文件免登录下载.mp4
147.用户目录选择优化.mp4
148.文件详情.mp4
149.视频类型的文件详情显示.mp4
150.文件详情完成.mp4
151.文件详情-支持视频播放.mp4
152.右键菜单优化.mp4
153.office文件预览.mp4
154.office文件预览完成.mp4
155.函数式组件优化.mp4
156.函数式组件的优化2.mp4
157.用户订单-vip购买弹窗页面.mp4
158.支付弹框css样式编写.mp4
159.支付弹框状态切换效果.mp4
160.支付弹框内容的切换.mp4
161.二维码组件显示支付链接.mp4
162.下单之后的回调.mp4
163.我的订单列表.mp4
164.我的订单列表-去支付.mp4
165.用户修改昵称.mp4
166.原位编辑组件.mp4
167.用户修改头像.mp4
168.图片裁剪组件.mp4
169.个人中心的一些小问题.mp4
170.文件移动.mp4
171.文件移动api对接.mp4
172.代码编辑器.mp4
173.文本文件可编辑.mp4
174.读取文件内容并显示.mp4
175.文件编辑.mp4
176.文件版本列表.mp4
177.文件版本操作.mp4
178.文件版本管理优化.mp4
179.前端优化-登录相关的问题.mp4
180.前端优化-文件图标显示优化.mp4
181.文件图标组件的bug.mp4
182.文件重命名优化.mp4
183.站点配置信息.mp4
184.站点配置显示.mp4
185.文件传输页面下上传的默认上传位置.mp4
186.前台部分ts问题解决.mp4
187.大文件上传重名时选跳过报错的问题.mp4
188.文件分享接收页面优化.mp4
189.ws优化.mp4

项目时间

  1. 立项时间:2025-11-21
  2. 原型开始时间:2025-11-21
  3. 原型结束时间:2025-12-02
  4. 后端开始时间:2026-01-26
  5. 后端结束时间:2026-03-01
  6. 前端开始时间:2026-03-02
  7. 前端结束时间:2026-04-02