Java如何搭建一個個人網(wǎng)盤
本文適合有 Java 基礎知識的人群,跟著本文可學習和運行 Java 網(wǎng)盤項目。
今天給大家?guī)硪豢铋_源 Java 版網(wǎng)盤項目—— kiftd-source,本文將用 3 分鐘帶大家搭建一個個人網(wǎng)盤,技術便利生活,你值得擁有~
項目地址:https://github.com/KOHGYLW/kiftd-source
一、項目介紹kiftd 是一款開源、使用簡單、功能完整的 Java 網(wǎng)盤/云盤系統(tǒng)。支持在線視頻播放、文檔在線預覽、音樂播放、圖片查看等功能的文件云存儲平臺。
技術棧
JDK 版本:1.8.0_131 項目管理框架:Maven(m2e 1.8.0 for Eclipse) Archetype:mavem-archetype-quickstart 1.1 Spring Boot:SpringBoot 基于 Spring 開發(fā),旨在提高微服務的開發(fā)效率。 MyBatis:一款優(yōu)秀的持久層框架,它支持自定義 SQL、存儲過程以及高級映射。 H2 DB:一款開源的嵌入式數(shù)據(jù)庫引擎,采用 Java 語言編寫,不受平臺的限制。二、網(wǎng)盤搭建2.1 Windows 環(huán)境運行2.1.1 下載安裝包
直接從官網(wǎng)下載最新的安裝包,安裝地址:https://kohgylw.gitee.io/
項目比較溫馨,支持三種下載方式:Github、阿里云、Gitee 下載。如下圖:
2.1.2 檢查配置
這里主要檢查一下本地 JDK 是否已安裝,在命令行窗口執(zhí)行 java -version 查看 Java 版本。如下所示表示已安裝,就可以進行下一步操作。
java version '1.8.0_181' Java(TM) SE Runtime Environment (build 1.8.0_181-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.181-b13, mixed mode)
2.1.3 運行 jar
雙擊 kiftd-1.0.29-RELEASE.jar,或者在命令行執(zhí)行 java -jar kiftd-1.0.29-RELEASE.jar 命令都運行可以jar 文件,會彈出安裝的界面,如下圖:
這個界面的這幾個按鈕說明一下:
開啟(Start):運行網(wǎng)盤服務,初次啟動的端口默認是 8080。 文件(Files):這個按鈕菜單中主要有網(wǎng)盤文件導入,導出,刪除,刷新功能。 設置(Setting):設置功能主要可以設置網(wǎng)盤的服務端口,網(wǎng)盤的物理存儲路徑等信息。 退出(Exit):關閉網(wǎng)盤系統(tǒng)。點擊 開啟(Start) 按鈕即可運行網(wǎng)盤,這里我設置的端口是 8090,在瀏覽器訪問: localhost:8090,運行效果如下圖:
項目是運行了,發(fā)現(xiàn)一個問題無法上傳文件?因為我們忘了登錄這個操作。點擊系統(tǒng) 登錄按鈕,填入賬號和密碼即可登錄。那么登錄密碼在哪里呢?這里我直接告訴大家,用戶信息在 conf/account.properties,文件內容如下:
#<This is the default kiftd account setting file. >#Sun May 10 21:56:28 CST 2020admin.pwd=000000 #用戶名.密碼=000000authOverall=ladmin.auth=cudrm 用戶名:admin 密碼:000000
這樣登錄之后就可以使用網(wǎng)盤的所有功能了。
2.2 Linux 環(huán)境運行2.2.1 安裝 Screen 工具
Screen 工具能夠虛擬出一個終端并執(zhí)行相應的操作。因為本篇所講的網(wǎng)盤需要一個終端。執(zhí)行如下命令安裝 Screen:
yum install screen
2.2.2 Screen 常用命令
screen -S myScreen #創(chuàng)建虛擬終端
java -jar kiftd-1.0.29-RELEASE.jar -console #在虛擬終端中以命令模式啟動 kiftd
screen -r myScreen #返回之前的虛擬終端并繼續(xù)操作 kiftd。
2.2.3 命令行操作
在 Linux 環(huán)境上使用 console 模式啟動的效果是這樣的:
命令行輸入 -start 即可運行項目。例如輸入 -files 控制臺顯示是這樣的:
其實和 Windows 上一樣,包括文件導入,導出,刪除功能,多了幾個命令是查看文件,切換目錄等功能。
三、開發(fā)環(huán)境運行3.1 下載項目兩種方式下載項目,使用 GitBash 下載項目:
git clone https://github.com/KOHGYLW/kiftd-source.git另外一種方式直接下載 zip 壓縮包,如下圖:
打開 kohgylw.kiftd.mc.MC 類,進行測試運行。注意:本文使用 Eclipse 工具打開。
3.3.1 前臺請求
就以創(chuàng)建目錄這個功能為例。我們先看前端功能。點擊“操作”->“新建文件夾”,填寫文件夾名稱,點擊保存如下圖:
我們知道前臺 新建文件夾 功能調用的后臺接口是 newFolder.ajax
3.3.2 后端接口
通過前臺請求可知調用的后臺接口為 homeController/newFolder.ajax。打開代碼實現(xiàn),我們會看到下面這個方法。
public String newFolder(final HttpServletRequest request) { ... //參數(shù)校驗的部分代碼已省略Folder f = new Folder();f.setFolderId(UUID.randomUUID().toString());f.setFolderName(folderName);f.setFolderCreationDate(ServerTimeUtil.accurateToDay());if (account != null) {f.setFolderCreator(account);} else {f.setFolderCreator('匿名用戶');}f.setFolderParent(parentId);int i = 0;while (true) {try { // 數(shù)據(jù)庫插入新建文件夾的數(shù)據(jù)final int r = this.fm.insertNewFolder(f);if (r > 0) {if (fu.isValidFolder(f)) {this.lu.writeCreateFolderEvent(request, f);return 'createFolderSuccess';} else {return 'cannotCreateFolder';}}break;} catch (Exception e) {f.setFolderId(UUID.randomUUID().toString());i++;}if (i >= 10) {break;}}return 'cannotCreateFolder';}四、功能說明4.1 上傳
點擊 操作,可以上傳文件和上傳文件夾,如下圖:
將本地需要上傳的文件,拖拽網(wǎng)盤頁面也可以上傳此文件。
4.2 視頻/音頻播放上傳視頻到網(wǎng)盤,網(wǎng)盤也支持在線視頻播放,效果如下圖:
上傳音頻,例如我最喜歡 周杰倫 的歌曲,可以在線播放了。
網(wǎng)盤還對一些常用功能添加了快捷鍵。功能和快捷鍵參照如下:
功能 快捷鍵 上傳文件夾 Shift +U 上傳文件 Shift +F 新建文件 Shift +N 復制 Shift +C 剪切 Shift +X 刪除 Shift +D 4.4 配置文件修改配置文件在項目 conf 目錄,包括兩個配置文件:
account.properties:配置賬號信息,權限信息 server.properties:服務器的配置文件,可配置服務器端口,緩沖文件大小等4.5 在線預覽網(wǎng)盤支持文檔 txt、pdf、docx、ppt 在線預覽功能,支持圖片的在線預覽。圖片預覽效果如下:
pdf 文件預覽效果如下:
網(wǎng)盤也考慮文件的分享,它可以生成下載鏈接,瀏覽器訪問下載鏈接就可以直接下載文件。選擇需要下載的文件,點擊 下載 按鈕,選擇 下載鏈接+,既可以生成文件下載鏈接。如下圖:
教程至此已經(jīng)結束,你自己的網(wǎng)盤跑起來了嗎?網(wǎng)盤是不是還不錯?而且搭建也特別簡單。一些重要的東西就可以存放到自己的網(wǎng)盤啦!說到底,編程語言只是工具,我們只要很好的使用工具,再加上自己天馬行空的思想,我想會創(chuàng)造出更多不可思議的項目。
Java 語言為什么經(jīng)久不衰,因為它能做的事情太多了,而且生態(tài)也特別豐富。如果你也有興趣那就加入 Javaer 開發(fā)者的大家庭吧!開源分享讓我們彼此認識,有了開源項目讓我們看到編程語言的絢麗多彩。
教程至此,你應該也能快速運行個人網(wǎng)盤了。編程是不是也特別有意思呢?先下載安裝包給自己部署一套網(wǎng)盤系統(tǒng)吧。對源碼感興趣的朋友可以開始學習項目源碼了~
以上就是Java如何搭建一個個人網(wǎng)盤的詳細內容,更多關于Java搭建網(wǎng)盤的資料請關注好吧啦網(wǎng)其它相關文章!
相關文章:
1. php使用正則驗證密碼字段的復雜強度原理詳細講解 原創(chuàng)2. 基于javaweb+jsp實現(xiàn)企業(yè)車輛管理系統(tǒng)3. Jsp servlet驗證碼工具類分享4. ASP將數(shù)字轉中文數(shù)字(大寫金額)的函數(shù)5. Jsp+Servlet實現(xiàn)文件上傳下載 文件列表展示(二)6. XML在語音合成中的應用7. jscript與vbscript 操作XML元素屬性的代碼8. asp.net core 認證和授權實例詳解9. 基于PHP做個圖片防盜鏈10. HTML5實戰(zhàn)與剖析之觸摸事件(touchstart、touchmove和touchend)
