找回密码
 立即注册
首页 业界区 安全 优秀!一款基于 SpringBoot + Vue 开发的网盘系统! ...

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

吕颐然 2025-6-1 18:16:52
大家好,我是 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.png

系统截图


  • 主页
2.png

3.png


  • 文件操作
4.png


  • 文件预览
5.png

6.png


  • 在线编辑
7.png


  • 压缩包解压缩
8.png


  • 回收站
9.png


  • 文件分享
10.png

11.png

快速上手

环境准备

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/#/
复制代码
12.png

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

来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
您需要登录后才可以回帖 登录 | 立即注册