今天教大家如何設計一個網盤(云盤)系統系統?, 基于目前主流的技術:前端vue,后端springboot。
同時還帶來的項目的部署教程。
視頻演示
springboot+vue實現在線網盤(云盤)系統
圖片演示
一. 系統概述
用過百度網盤,夸克等網盤的童鞋們應該都清楚網盤需要哪些功能,今天就教大家用java springboot來實現網盤。
首先我們看下我們系統的核心功能:
1. 支持秒傳文件。
2. 支持斷點續傳。
3.支持大文件快速上傳(文件分塊多線程上傳)。
4.支持分享,提取文件。?
5. 文件系統的管理。
6.登錄注冊。
7.用戶空間擴容。
二. 核心功能實現思想
秒傳文件
妙傳文件就是某個用戶上傳一個文件后,其它用戶上傳同樣的文件都是瞬間完成。 核心思想就是將每個文件的MD5值保存下來,上傳時比對MD5值,存在就妙傳成功。
大文件快速上傳
用戶上傳文件首先將文件切分成1MB大小的塊,前端首先分配好這些塊文件,然后比如批量同時10個一起調用后臺上傳快文件接口。后端對每個塊文件進行接收和存儲。由于是同時,
后端用了多線程去存儲,最大化利用了cpu效率。
斷點續傳
由于文件是分塊上傳與存儲的,我們上傳過程中即使斷了網也不用怕,因為上傳過的文件快已經實實在在的保存到了服務器磁盤。下次上傳同樣的文件時,只需要查找最后上傳到那一塊文件,然后
繼續上傳后面的塊文件就可以了。
三. 技術棧概述
后端技術棧:
JDK8 + springboot + mysql8
前端技術棧:
vue +?Axios 等
SQL文件與全部源碼我已整理清楚,移步獲取:
gitcode( 典 ) C 〇 M/hadluo2/springboot_vue.git
四. 項目部署教程
前端部署
安裝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
可以自己注冊用戶。