
今天教大家如何设计一个网盘(云盘)系统系统 , 基于目前主流的技术:前端vue,后端springboot。
同时还带来的项目的部署教程。
图片演示




用过百度网盘,夸克等网盘的童鞋们应该都清楚网盘需要哪些功能,今天就教大家用java springboot来实现网盘。
首先我们看下我们系统的核心功能:
1. 支持秒传文件。
2. 支持断点续传。
3.支持大文件快速上传(文件分块多线程上传)。
4.支持分享,提取文件。
5. 文件系统的管理。
6.登录注册。
7.用户空间扩容。
妙传文件就是某个用户上传一个文件后,其它用户上传同样的文件都是瞬间完成。 核心思想就是将每个文件的MD5值保存下来,上传时比对MD5值,存在就妙传成功。
用户上传文件首先将文件切分成1MB大小的块,前端首先分配好这些块文件,然后比如批量同时10个一起调用后台上传快文件接口。后端对每个块文件进行接收和存储。由于是同时,
后端用了多线程去存储,最大化利用了cpu效率。
由于文件是分块上传与存储的,我们上传过程中即使断了网也不用怕,因为上传过的文件快已经实实在在的保存到了服务器磁盘。下次上传同样的文件时,只需要查找最后上传到那一块文件,然后
继续上传后面的块文件就可以了。
JDK8 + springboot + mysql8
vue + Axios 等
安装node , 版本:v22.15.0 , 安装完成后。
进入到项目 wxhadluo-drive-web 目录下, 右键,运行cmd,运行下面命令:
npm run serve
由于我已经跟你npm install好了,所以你无需执行,直接run就可以了!!
运行项目

到此前端项目部署完成。
自己安装好数据库,注意,必须啊时mysql8 ,否则代码运行会出错。新建一个 wxhadluo-drive 数据库, 然后执行 “wxhadluo-drive.sql”
然后部署后端 , 打开idea, 导入maven工程 wxhadluo-drive-server。
打开resources目录, 修改 application.yml 配置文件,主要修改下面几个信息:

然后启动 main 启动类 : Application.class
前端:
http://localhost:8080/
用户: hadluo / 123456
可以自己注册用户。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。