# 七牛云集成springboot vue上传 **Repository Path**: ddeatrr/qn ## Basic Information - **Project Name**: 七牛云集成springboot vue上传 - **Description**: 七牛云集成springboot vue上传 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-08-06 - **Last Updated**: 2025-09-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 七牛云存储管理系统 基于Spring Boot 2.7.18的七牛云存储文件管理系统,提供文件上传、删除、查询和访问token生成等功能。 ## 功能特性 - 文件上传到七牛云存储 - 文件删除功能 - 获取文件列表和目录列表 - 生成私有文件访问token - 完整的异常处理和日志记录 - Swagger API文档 ## 技术栈 - Spring Boot 2.7.18 - 七牛云Java SDK 7.2.29 - MyBatis Plus 3.5.3 - Swagger 2.9.2 - Lombok - MySQL ## 快速开始 ### 1. 配置七牛云 在 `application.yml` 中配置你的七牛云信息: ```yaml qiniu: access-key: your-access-key # 你的AccessKey secret-key: your-secret-key # 你的SecretKey bucket-name: your-bucket-name # 存储空间名称 domain: your-domain # 访问域名 region: huanan # 存储区域 ``` ### 2. 数据库配置 修改 `application.yml` 中的数据库连接信息: ```yaml spring: datasource: url: jdbc:mysql://localhost:3306/qiniu_storage?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 username: your-username password: your-password ``` ### 3. 启动项目 ```bash mvn spring-boot:run ``` ### 4. 访问API文档 启动后访问:http://localhost:8080/swagger-ui.html ## API接口 ### 文件上传 ``` POST /admin/storage/upload ``` 参数: - `file`: 上传的文件(必填) - `fileName`: 文件名(可选,不传则自动生成UUID) - `directory`: 存储目录(可选,默认根目录) ### 文件删除 ``` POST /admin/storage/delete ``` 参数: - `fileName`: 文件名(必填) - `directory`: 文件目录(可选) ### 获取文件列表 ``` GET /admin/storage/files ``` 参数: - `directory`: 目录前缀(可选) ### 获取目录列表 ``` GET /admin/storage/directories ``` ### 生成访问token ``` GET /admin/storage/token ``` 参数: - `fileName`: 文件名(必填) - `directory`: 文件目录(可选) - `expireInSeconds`: 过期时间秒数(可选,默认600秒) ## 存储区域配置 支持的存储区域: - `huadong`: 华东 - `huabei`: 华北 - `huanan`: 华南 - `beimei`: 北美 - 其他值将使用自动选择区域 ## 注意事项 1. 请确保七牛云账号有足够的存储空间和流量 2. 上传文件大小限制为100MB 3. 私有空间需要使用token访问,公开空间可直接访问 4. 建议在生产环境中配置HTTPS域名 ## 错误处理 系统提供完整的异常处理机制: - API异常:业务逻辑异常 - 文件大小超限异常:上传文件过大 - 系统异常:其他未知异常 所有异常都会返回统一的错误格式,并记录详细日志。