Springboot高仿百度云网盘项目
推荐一个鲜有人知晓的的云盘开源项目,可以作为某度云的替代品。
该项目采用最流行的前后端分离架构进行开发和部署,旨在为用户和企业提供一个简单、方便的文件存储方案,能够以完善的目录结构体系,对文件进行管理。主要用到以下技术栈:
前端:ElementUI、Vue、Node。js、Webpack
后端:MySQL、SpringBoot、MyBatis、JPA、JWT01。功能截图页面布局
页面布局分为三个区域,分别是菜单栏、文件操作、导航区域。
网盘主页
左侧菜单栏可折叠,表格操作列可折叠,可控制当前表格中列的显示和隐藏。
批量操作功能
文件查看列表模式
文件查看网格模式
文件查看时间线模式
创建文件夹
文件图标大小调整
文件移动
文件在线解压缩
文件分片上传
文件采用分片上传,集成了simipleuplader的文件秒传、断点续传功能。
拖拽上传
截图粘贴上传
直接使用任何截图工具截图后,在拖拽区域使用CtrlV粘贴图片,点击上传图片即可上传。
文件回收站
文件单个和批量分享
可以选择过期时间和是否需要提取码:
提供快捷复制链接及提取码给他人:
粘贴分享链接及提取码效果类似于百度云:分享链接:https:pan。qiwenshare。comshare27d9b438019e4f68bcec02f579d163b7提取码:356978
他人查看分享内容,并支持保存到网盘功能:
分享过的文件列表
支持在列表中快捷复制当次的分享链接及提取码,并标注分享时间和过期状态:
视频在线预览
文件类型为视频时,点击即可打开预览窗口,展示播放列表,支持快进、后退、暂停、倍速播放、全屏播放、下载视频和折叠播放列表。
音频在线播放
02。如何安装
环境准备
源码的编译和运行需要依赖以下开发环境,下面所列的版本号仅供参考:JDK版本:8MySQL版本:5Node。js版本:12。12。1Nginx版本:1。17。3Git版本:2。24。0
代码下载
分别下载前后台代码,开源地址可以关注微信公众号逛逛GitHub回复0603下载。编译及运行
进入后台代码根目录,点击install。bat会进行编译,编译完成之后会生成release发布包。
该release包是独立的,你可以将它拷贝到任何具有Java环境的地方进行执行。
进入bin目录里,如下图:
从上图可以看到出现了4个启动和停止脚本,作用如下:linux重启脚本:restart。shlinux启动脚本:start。shlinux停止脚本:stop。shwindows启动脚本:winstart。batwindows环境启动及停止
在windows环境下点击winstart。bat之后会出现SpringBoot的启动黑窗口,这个窗口不能关闭,关闭就意味着程序结束,当出现如下字样,说明后台已经启动成功。
Linux环境启动及停止
在Linux环境下,具体的操作这就不描述了可以查看:
https:www。qiwenshare。comessaydetail169
https:www。qiwenshare。comtopicdetail61132前台代码编译
首先在前台代码目录下执行如下命令进行编译npminstall前台开发环境运行
此种方式适用于开发,执行命令npmrunserve
运行完成之后,界面上会显示出访问路径,通过浏览器访问即可
前台生产环境运行
执行npmrunbuild部署:打包后会生成文件夹dist,将dist文件夹下的文件放置于nginxhtml目录下,并配置nginxconfnginx。conf,具体配置如下:
server{
listen80;
servernamelocalhost;将localhost修改为您证书绑定的域名,例如:www。example。com。
location{
roothtml;
indexindex。htmlindex。htm;
tryfilesuriuriindex。html;可以防止页面刷新404
}
locationapi{
proxysethearderhosthost;
proxysetheaderXforwardedforproxyaddxforwardedfor;
proxysetheaderXrealipremoteaddr;
配置此处用于获取客户端的真实IP
proxysetheaderHosthttphost;
proxysetheaderXRealIPremoteaddr;
proxysetheaderXForwardedForproxyaddxforwardedfor;
proxysetheaderXForwardedProtoscheme;
proxypasshttp:localhost:8080;
}
errorpage50050250350450x。html;
location50x。html{
roothtml;
}
}浏览器访问
出现如下界面,说明就已经大功告成
对了,如果你想使用MySql作为项目数据库,可将项目切换为生产环境配置,切换方法请参见:https:www。qiwenshare。comessaydetail1132
转载自:逛逛GitHub公众号
原文链接:https:mp。weixin。qq。coms7AYci3ry7N7OxqDOtT4nA