优秀!一款基于 SpringBoot + Vue 开发的网盘体系!

海哥  论坛元老 | 2025-4-14 08:03:15 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 1586|帖子 1586|积分 4758

各人好,我是 Java陈序员。
今天,给各人介绍一款基于 SpringBoot + Vue 开发的网盘体系!
关注微信公众号:【Java陈序员】,获取开源项目分享、AI副业分享、超200本经典计算机电子册本等。
项目介绍

qiwen-file —— 奇文网盘,一款基于 SpringBoot + Vue 框架开发的文件体系,旨在为用户和企业提供一个简单、方便的文件存储方案,能够以完善的目录布局体系,对文件进行管理。
功能特色

  • 文件上传:集成 vue-simple-uploader,实现文件分片上传、断点续传、拖拽上传等功能
  • 文件管理:支持文件/文件夹的移动、重定名、下载、删除、还原、压缩包解压缩等基本操作
  • 精良的交互:提供列表、网格、时间线等多种展示模式,并支持全局搜刮文件名,快速定位文件并打开文件所处位置
  • 文件预览:支持图片、视频、音频、PDF、JSON、TXT 等文件的在线预览,还支持多种编程语言代码文件的在线预览和编辑
  • Offce 文档支持:提供 Word、Excel、PowerPoint 文档的在线创建、协同编辑功能(需安装 OnlyOffice Docs 服务)
  • 多种存储方式:支持当地磁盘、阿里云 OSS 对象存储、FastDFS 存储、MinIO、七牛云 KODO 对象存储等
  • 文件分享:支持文件分享,可设置逾期时间,主动生成提取码,并可检察个人分享过的文件列表
  • 回收站:支持文件回收站功能,可轻松找回误删文件
技术栈

  • 前端:Node.js、Vue、Element UI
  • 后端:SpringBoot、MyBatis、JPA、JWT
  • 数据库: MySQL、Redis、ElasticSearch

体系截图


  • 主页



  • 文件操作


  • 文件预览



  • 在线编辑


  • 压缩包解压缩


  • 回收站


  • 文件分享


快速上手

环境预备

1、源码的编译和运行需要依靠以下开发环境:

  • JDK8.0+
  • MySQL8.0+
  • Maven
  • Node.js12.13.1
2、创建数据库
  1. CREATE DATABASE `file` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
复制代码
3、项目的建表利用 JPA 模型映射技术,当数据库配置完成后,直接启动项目,体系会主动完成整个建表过程
后端服务

1、克隆代码
  1. git clone https://gitee.com/qiwen-cloud/qiwen-file.git
复制代码
2、将整个项目以 Maven 项目的形式导入到 IDEA 中
3、修改配置文件 /resources/config/application.properties 中的 MySQL、Redis 服务毗连地点、用户名、暗码等配置
  1. #jdbc连接-mysql数据库
  2. spring.datasource.driverClassName=com.mysql.cj.jdbc.Driver
  3. spring.datasource.url = jdbc:mysql://localhost:3306/file?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf-8&allowMultiQueries=true
  4. spring.datasource.username=root
  5. spring.datasource.password=ma123456
  6. # Redis数据库索引(默认为0)
  7. spring.redis.database=0  
  8. # Redis服务器地址
  9. spring.redis.host=127.0.0.1
  10. # Redis服务器连接端口
  11. spring.redis.port=6379
  12. # Redis服务器连接密码(默认为空)
  13. spring.redis.password=ma123456
复制代码
4、运行主启动类 com.qiwenshare.file.FileApplication 运行项目
5、项目启动后,需要再执行下 /resource/import.sql 脚本初始化数据,否则会报错
前端服务
  1. ## 1、克隆项目
  2. git clone https://gitee.com/qiwen-cloud/qiwen-file-web.git
  3. ## 2、进入项目目录
  4. cd qiwen-file-web
  5. ## 3、安装依赖
  6. npm install
  7. ## 4、启动服务
  8. npm run serve
  9. ## 5、浏览器访问
  10. http://localhost:8081/
  11. ## 6、系统管理员用户名/密码
  12. admin/admin
复制代码
存储方式配置

qiwen-file 默认存储为当地存储,默认存储在 /target/classes/static/upload 目录下,可通过修改配置文件 /resources/config/application.properties 进行修改:
  1. #存储类型
  2. ufop.storage-type=0
  3. #文件存储路径
  4. ufop.local-storage-path=
  5. ufop.bucket-name=upload
复制代码
ufop.storage-type 指定存储类型,对应存储方式的值为:
存储方式storage-type当地0阿里云 OSS 对象存储1FastDFS 存储2MinIO 存储3七牛云KODO 对象存储3比方配置阿里云 OSS 对象存储:
  1. #存储类型
  2. ufop.storage-type=1
  3. #阿里云oss基本配置
  4. ufop.aliyun.oss.endpoint=
  5. ufop.aliyun.oss.access-key-id=
  6. ufop.aliyun.oss.access-key-secret=
  7. ufop.aliyun.oss.bucket-name=
复制代码
更多存储方式的配置可参考文档:
  1. https://pan.qiwenshare.com/docs/config/#%E5%AD%98%E5%82%A8%E6%96%B9%E5%BC%8F%E9%85%8D%E7%BD%AE
复制代码
其他配置

1、文件搜刮依靠于 ElasticSearch,需先安装 ElasticSearch 服务
2、Office 文档的预览编辑依托于 OnlyOffice Docs 服务,需要进行环境安装,否则会报错
3、对应的配置可直接参考文档:
  1. https://pan.qiwenshare.com/docs/config/
复制代码
可以说,qiwen-file 完全实现了一个网盘应有的功能,而且遵循 MIT 开源协议,完全开源。如果对其中的实现原理感兴趣,可以进行学习鉴戒,也可以在此底子上进行二次开发和功能扩展~
  1. 项目地址:https://gitee.com/qiwen-cloud/qiwen-file
复制代码
末了

推荐的开源项目已经收录到 GitHub 项目,欢迎 Star:
  1. https://github.com/chenyl8848/great-open-source-project
复制代码
或者访问网站,进行在线浏览:
  1. https://chencoding.top:8090/#/
复制代码

我创建了一个开源项目交换群,方便各人在群里交换、讨论开源项目
但是任何人在群里打任何广告,都会被 T 掉
如果你对这个交换群感兴趣或者在利用开源项目中遇到问题,可以通过如下方式进群
关注微信公众号:【Java陈序员】,回复【开源项目交换群】进群,或者通过公众号下方的菜单添加个人微信,并备注【开源项目交换群】,通过后拉你进群
各人的点赞、收藏和批评都是对作者的支持,如文章对你有帮助还请点赞转发支持下,谢谢!

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

海哥

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表