头图

今天教大家如何设计一个网盘(云盘)系统系统 , 基于目前主流的技术:前端vue,后端springboot。

同时还带来的项目的部署教程。 

视频演示

https://www.bilibili.com/video/BV15G5uzTE3e/?vd_source=ac19a0...

图片演示

图片
 
图片
 
图片
 
图片

 一. 系统概述

用过百度网盘,夸克等网盘的童鞋们应该都清楚网盘需要哪些功能,今天就教大家用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就可以了!!运行项目 

图片

 到此前端项目部署完成。 

执行sql

自己安装好数据库,注意,必须啊时mysql8 ,否则代码运行会出错。新建一个 wxhadluo-drive 数据库, 然后执行  “wxhadluo-drive.sql”

启动后端项目

然后部署后端 , 打开idea, 导入maven工程 wxhadluo-drive-server。打开resources目录, 修改 application.yml 配置文件,主要修改下面几个信息:

图片

  然后启动  main 启动类 : Application.class

五. 访问项目

前端:http://localhost:8080/ 

用户: hadluo / 123456

可以自己注册用户。


q3993387644
6 声望18 粉丝

提供海量精品源码,业务范围:游戏,网站,工具等。 也支持招商代理