mirror of
https://gitee.com/lxp135/minio-plus.git
synced 2025-12-07 01:18:22 +08:00
包结构调整。
This commit is contained in:
parent
7623f8ea96
commit
bdd83e0c60
58
README.md
58
README.md
@ -27,7 +27,7 @@
|
|||||||
|
|
||||||
## 2.1 文件下载 | File Download
|
## 2.1 文件下载 | File Download
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
浏览器向服务端发起文件读取请求,服务端会根据fileKey入参取得文件的元数据信息。获取文件元数据信息后,根据元数据信息中的是否私有字段和所有者字段判断是否具备文件读取权限。
|
浏览器向服务端发起文件读取请求,服务端会根据fileKey入参取得文件的元数据信息。获取文件元数据信息后,根据元数据信息中的是否私有字段和所有者字段判断是否具备文件读取权限。
|
||||||
|
|
||||||
@ -42,7 +42,7 @@
|
|||||||
|
|
||||||
### 2.2.1 秒传
|
### 2.2.1 秒传
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
当用户重复上传相同的文件时,每次都需要执行一次完整的文件上传操作,这造成了文件上传过程的冗余,即浪费了用户的时间和服务器的网络IO,重复文件又占用了不必要的服务器磁盘空间。
|
当用户重复上传相同的文件时,每次都需要执行一次完整的文件上传操作,这造成了文件上传过程的冗余,即浪费了用户的时间和服务器的网络IO,重复文件又占用了不必要的服务器磁盘空间。
|
||||||
针对以上两个问题,minio-plus支持文件秒传特性,解决了传统文件上传中重复文件上传时的问题,提高了文件传输的效率和用户体验,同时减少了文件服务器的存储空间占用。
|
针对以上两个问题,minio-plus支持文件秒传特性,解决了传统文件上传中重复文件上传时的问题,提高了文件传输的效率和用户体验,同时减少了文件服务器的存储空间占用。
|
||||||
@ -58,7 +58,7 @@
|
|||||||
* 提高传输速度:当上传的文件比较大时,将大文件进行分块,同时并发上传多个小块,而不是一整个大文件按顺序上传。这样可以最大限度地利用带宽,从而加快上传速度。
|
* 提高传输速度:当上传的文件比较大时,将大文件进行分块,同时并发上传多个小块,而不是一整个大文件按顺序上传。这样可以最大限度地利用带宽,从而加快上传速度。
|
||||||
* 支持断点续传:分块上传是断点续传技术的前置条件,要想实现断点续传,必须先支持分块。
|
* 支持断点续传:分块上传是断点续传技术的前置条件,要想实现断点续传,必须先支持分块。
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
### 2.2.3 断点续传
|
### 2.2.3 断点续传
|
||||||
|
|
||||||
@ -114,15 +114,58 @@ PS:原图尺寸小于缩略图压缩尺寸时,储存原图。
|
|||||||
|
|
||||||
# 3 接口设计 | Interface Design
|
# 3 接口设计 | Interface Design
|
||||||
|
|
||||||
## 3.1 文件检查
|
## 3.1 Service 层接口(Core)
|
||||||
|
|
||||||
## 3.2
|
提供标准文件上传、下载等接口。
|
||||||
|
|
||||||
|
### 3.1.1 创建文件(字节数组、流、url)
|
||||||
|
|
||||||
|
### 3.1.2 读取文件
|
||||||
|
|
||||||
|
### 3.1.3 删除文件
|
||||||
|
|
||||||
|
## 3.2 Controller 层接口(扩展)
|
||||||
|
|
||||||
|
如没有特殊需求,也可以不写 Controller 层接口,MinIO Plus 扩展包中提供了 Controller 层接口定义。
|
||||||
|
|
||||||
|
### 3.2.1 文件预检查
|
||||||
|
|
||||||
|
### 3.2.2 文件上传(MinIO原生接口)
|
||||||
|
|
||||||
|
### 3.2.3 上传完成
|
||||||
|
|
||||||
|
### 3.2.4 文件下载
|
||||||
|
|
||||||
|
### 3.2.5 图片预览 - 原图
|
||||||
|
|
||||||
|
### 3.2.6 图片预览 - 缩略图
|
||||||
|
|
||||||
|
## 3.3 引用 MinIO 接口
|
||||||
|
|
||||||
|
这里给出本项目引用的 MinIO 接口列表。
|
||||||
|
|
||||||
|
### 3.3.1 bucketExists 检查文件桶是否存在
|
||||||
|
|
||||||
|
### 3.3.2 makeBucket 创建文件桶
|
||||||
|
|
||||||
|
### 3.3.3 createMultipartUpload 创建分片上传
|
||||||
|
|
||||||
|
### 3.3.4 completeMultipartUpload 合并文件
|
||||||
|
|
||||||
|
### 3.3.5 listParts 查询已上传的分片列表
|
||||||
|
|
||||||
|
### 3.3.6 getPresignedObjectUrl 获取上传、下载、预览图链接
|
||||||
|
|
||||||
|
### 3.3.7 putObject 上传
|
||||||
|
|
||||||
|
### 3.3.8 getObject 下载
|
||||||
|
|
||||||
|
### 3.3.9 removeObject 删除
|
||||||
|
|
||||||
# 4 数据库设计 | Database Design
|
# 4 数据库设计 | Database Design
|
||||||
|
|
||||||
## 4.1 文件元数据信息表 | file_metadata_info
|
## 4.1 文件元数据信息表 | file_metadata_info
|
||||||
|
|
||||||
|
|
||||||
| Name | Type | Length | Not Null | Virtual | Key | Comment |
|
| Name | Type | Length | Not Null | Virtual | Key | Comment |
|
||||||
| ---------------- | ---------- | -------- | ---------- | --------- | ------ | ------------------------ |
|
| ---------------- | ---------- | -------- | ---------- | --------- | ------ | ------------------------ |
|
||||||
| id | bigint | 20 | True | False | True | 自增ID |
|
| id | bigint | 20 | True | False | True | 自增ID |
|
||||||
@ -188,4 +231,5 @@ CREATE TABLE `file_metadata_info` (
|
|||||||
|
|
||||||
# 9 参考资料 | Reference
|
# 9 参考资料 | Reference
|
||||||
|
|
||||||
* [MinIO S3 APIs](minio-plus-doc/minio-s3-api.md)
|
* [MinIO S3 APIs](doc/minio-s3-api.md)
|
||||||
|
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 261 KiB After Width: | Height: | Size: 261 KiB |
|
Before Width: | Height: | Size: 179 KiB After Width: | Height: | Size: 179 KiB |
|
Before Width: | Height: | Size: 129 KiB After Width: | Height: | Size: 129 KiB |
@ -7,10 +7,10 @@ import io.swagger.annotations.ApiOperation;
|
|||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.liuxp.minioplus.application.context.Response;
|
import org.liuxp.minioplus.application.context.Response;
|
||||||
import org.liuxp.minioplus.config.MinioPlusProperties;
|
import org.liuxp.minioplus.config.MinioPlusProperties;
|
||||||
import org.liuxp.minioplus.core.common.dto.FileCheckDTO;
|
import org.liuxp.minioplus.model.dto.FileCheckDTO;
|
||||||
import org.liuxp.minioplus.core.common.dto.FileCompleteDTO;
|
import org.liuxp.minioplus.model.dto.FileCompleteDTO;
|
||||||
import org.liuxp.minioplus.core.common.vo.CompleteResultVo;
|
import org.liuxp.minioplus.model.vo.CompleteResultVo;
|
||||||
import org.liuxp.minioplus.core.common.vo.FileCheckResultVo;
|
import org.liuxp.minioplus.model.vo.FileCheckResultVo;
|
||||||
import org.liuxp.minioplus.core.engine.StorageEngineService;
|
import org.liuxp.minioplus.core.engine.StorageEngineService;
|
||||||
import org.springframework.stereotype.Controller;
|
import org.springframework.stereotype.Controller;
|
||||||
import org.springframework.validation.annotation.Validated;
|
import org.springframework.validation.annotation.Validated;
|
||||||
@ -144,24 +144,6 @@ public class StorageController {
|
|||||||
return REDIRECT_PREFIX + remakeUrl(url);
|
return REDIRECT_PREFIX + remakeUrl(url);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* 文件删除
|
|
||||||
* @param fileKey 文件KEY
|
|
||||||
* @return 文件下载地址
|
|
||||||
*/
|
|
||||||
@ApiOperation(value = "文件删除")
|
|
||||||
@PostMapping("/remove/{fileKey}")
|
|
||||||
@ResponseBody
|
|
||||||
public Response<Boolean> remove(@PathVariable String fileKey) {
|
|
||||||
|
|
||||||
// 取得当前登录用户信息
|
|
||||||
String userId = "mockUser";
|
|
||||||
// 取得文件读取路径
|
|
||||||
Boolean remove = storageEngineService.remove(fileKey, userId);
|
|
||||||
// 返回重定向地址
|
|
||||||
return Response.success(remove);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 图片原图预览
|
* 图片原图预览
|
||||||
* @param fileKey 文件KEY
|
* @param fileKey 文件KEY
|
||||||
|
|||||||
@ -7,10 +7,10 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.liuxp.minioplus.application.entity.FileMetadataInfoEntity;
|
import org.liuxp.minioplus.application.entity.FileMetadataInfoEntity;
|
||||||
import org.liuxp.minioplus.application.mapper.FileMetadataInfoMapper;
|
import org.liuxp.minioplus.application.mapper.FileMetadataInfoMapper;
|
||||||
import org.liuxp.minioplus.core.common.dto.FileMetadataInfoDTO;
|
import org.liuxp.minioplus.model.dto.FileMetadataInfoDTO;
|
||||||
import org.liuxp.minioplus.core.common.dto.FileMetadataInfoSaveDTO;
|
import org.liuxp.minioplus.model.dto.FileMetadataInfoSaveDTO;
|
||||||
import org.liuxp.minioplus.core.common.dto.FileMetadataInfoUpdateDTO;
|
import org.liuxp.minioplus.model.dto.FileMetadataInfoUpdateDTO;
|
||||||
import org.liuxp.minioplus.core.common.vo.FileMetadataInfoVo;
|
import org.liuxp.minioplus.model.vo.FileMetadataInfoVo;
|
||||||
import org.liuxp.minioplus.core.repository.MetadataRepository;
|
import org.liuxp.minioplus.core.repository.MetadataRepository;
|
||||||
import org.springframework.beans.BeanUtils;
|
import org.springframework.beans.BeanUtils;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|||||||
19
minio-plus-common/pom.xml
Normal file
19
minio-plus-common/pom.xml
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||||
|
<parent>
|
||||||
|
<artifactId>minio-plus-parent</artifactId>
|
||||||
|
<groupId>org.liuxp</groupId>
|
||||||
|
<version>1.0.0-SNAPSHOT</version>
|
||||||
|
</parent>
|
||||||
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|
||||||
|
<artifactId>minio-plus-common</artifactId>
|
||||||
|
|
||||||
|
<properties>
|
||||||
|
<maven.compiler.source>11</maven.compiler.source>
|
||||||
|
<maven.compiler.target>11</maven.compiler.target>
|
||||||
|
</properties>
|
||||||
|
|
||||||
|
</project>
|
||||||
@ -10,17 +10,12 @@
|
|||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|
||||||
<artifactId>minio-plus-core</artifactId>
|
<artifactId>minio-plus-core</artifactId>
|
||||||
<version>${revision}</version>
|
|
||||||
|
|
||||||
<dependencies>
|
<dependencies>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.springframework.boot</groupId>
|
<groupId>org.springframework.boot</groupId>
|
||||||
<artifactId>spring-boot-starter</artifactId>
|
<artifactId>spring-boot-starter</artifactId>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
|
||||||
<groupId>cn.hutool</groupId>
|
|
||||||
<artifactId>hutool-all</artifactId>
|
|
||||||
</dependency>
|
|
||||||
<!-- minio -->
|
<!-- minio -->
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>io.minio</groupId>
|
<groupId>io.minio</groupId>
|
||||||
@ -41,15 +36,9 @@
|
|||||||
<groupId>org.liuxp</groupId>
|
<groupId>org.liuxp</groupId>
|
||||||
<artifactId>minio-plus-spring-boot-config</artifactId>
|
<artifactId>minio-plus-spring-boot-config</artifactId>
|
||||||
</dependency>
|
</dependency>
|
||||||
<!--Swagger工具包 knife4j -->
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.github.xiaoymin</groupId>
|
<groupId>org.liuxp</groupId>
|
||||||
<artifactId>knife4j-annotations</artifactId>
|
<artifactId>minio-plus-model</artifactId>
|
||||||
</dependency>
|
|
||||||
<!-- https://mvnrepository.com/artifact/io.swagger/swagger-annotations -->
|
|
||||||
<dependency>
|
|
||||||
<groupId>io.swagger</groupId>
|
|
||||||
<artifactId>swagger-annotations</artifactId>
|
|
||||||
</dependency>
|
</dependency>
|
||||||
<!-- google图片压缩 -->
|
<!-- google图片压缩 -->
|
||||||
<dependency>
|
<dependency>
|
||||||
|
|||||||
@ -1,63 +0,0 @@
|
|||||||
package org.liuxp.minioplus.core.common.enums;
|
|
||||||
|
|
||||||
import lombok.Getter;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 存储引擎枚举类
|
|
||||||
*
|
|
||||||
* @author contact@liuxp.me
|
|
||||||
* @since 2023/06/26
|
|
||||||
*/
|
|
||||||
@Getter
|
|
||||||
public enum StorageEngineEnums {
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 存储引擎枚举
|
|
||||||
*/
|
|
||||||
MINIO("minio","MinIO存储引擎"),
|
|
||||||
LOCAL("local","本地文件存储"),
|
|
||||||
TIS("tis","TIS存储引擎");
|
|
||||||
|
|
||||||
private final String code;
|
|
||||||
|
|
||||||
private final String name;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 构造方法
|
|
||||||
* @param code 编码
|
|
||||||
* @param name 名称
|
|
||||||
*/
|
|
||||||
StorageEngineEnums(String code, String name) {
|
|
||||||
this.code = code;
|
|
||||||
this.name = name;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 根据编码取得枚举
|
|
||||||
* @param code 编码
|
|
||||||
* @return 枚举
|
|
||||||
*/
|
|
||||||
public static StorageEngineEnums getByCode(String code) {
|
|
||||||
for (StorageEngineEnums fileDomain : StorageEngineEnums.values()) {
|
|
||||||
if (code.equals(fileDomain.getCode())) {
|
|
||||||
return fileDomain;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 根据编码取得名称
|
|
||||||
* @param code 编码
|
|
||||||
* @return 名称
|
|
||||||
*/
|
|
||||||
public static String getNameByCode(String code) {
|
|
||||||
for (StorageEngineEnums fileDomain : StorageEngineEnums.values()) {
|
|
||||||
if (code.equals(fileDomain.getCode())) {
|
|
||||||
return fileDomain.getName();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return "";
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
@ -1,11 +1,11 @@
|
|||||||
package org.liuxp.minioplus.core.engine;
|
package org.liuxp.minioplus.core.engine;
|
||||||
|
|
||||||
import cn.hutool.core.lang.Pair;
|
import cn.hutool.core.lang.Pair;
|
||||||
import org.liuxp.minioplus.core.common.dto.FileCheckDTO;
|
import org.liuxp.minioplus.model.dto.FileCheckDTO;
|
||||||
import org.liuxp.minioplus.core.common.dto.FileMetadataInfoSaveDTO;
|
import org.liuxp.minioplus.model.dto.FileMetadataInfoSaveDTO;
|
||||||
import org.liuxp.minioplus.core.common.vo.CompleteResultVo;
|
import org.liuxp.minioplus.model.vo.CompleteResultVo;
|
||||||
import org.liuxp.minioplus.core.common.vo.FileCheckResultVo;
|
import org.liuxp.minioplus.model.vo.FileCheckResultVo;
|
||||||
import org.liuxp.minioplus.core.common.vo.FileMetadataInfoVo;
|
import org.liuxp.minioplus.model.vo.FileMetadataInfoVo;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
|||||||
@ -11,21 +11,21 @@ import io.minio.ObjectWriteResponse;
|
|||||||
import io.minio.messages.Part;
|
import io.minio.messages.Part;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.liuxp.minioplus.config.MinioPlusProperties;
|
import org.liuxp.minioplus.config.MinioPlusProperties;
|
||||||
import org.liuxp.minioplus.core.common.bo.CreateUploadUrlReqBO;
|
import org.liuxp.minioplus.model.bo.CreateUploadUrlReqBO;
|
||||||
import org.liuxp.minioplus.core.common.bo.CreateUploadUrlRespBO;
|
import org.liuxp.minioplus.model.bo.CreateUploadUrlRespBO;
|
||||||
import org.liuxp.minioplus.core.common.copy.ListPartsResultCopy;
|
import org.liuxp.minioplus.model.copy.ListPartsResultCopy;
|
||||||
import org.liuxp.minioplus.core.common.dto.FileCheckDTO;
|
import org.liuxp.minioplus.model.dto.FileCheckDTO;
|
||||||
import org.liuxp.minioplus.core.common.dto.FileMetadataInfoDTO;
|
import org.liuxp.minioplus.model.dto.FileMetadataInfoDTO;
|
||||||
import org.liuxp.minioplus.core.common.dto.FileMetadataInfoSaveDTO;
|
import org.liuxp.minioplus.model.dto.FileMetadataInfoSaveDTO;
|
||||||
import org.liuxp.minioplus.core.common.dto.FileMetadataInfoUpdateDTO;
|
import org.liuxp.minioplus.model.dto.FileMetadataInfoUpdateDTO;
|
||||||
import org.liuxp.minioplus.core.common.dto.minio.MultipartUploadCreateDTO;
|
import org.liuxp.minioplus.model.dto.minio.MultipartUploadCreateDTO;
|
||||||
import org.liuxp.minioplus.core.common.enums.ResponseCodeEnum;
|
import org.liuxp.minioplus.model.enums.ResponseCodeEnum;
|
||||||
import org.liuxp.minioplus.core.common.enums.StorageBucketEnums;
|
import org.liuxp.minioplus.model.enums.StorageBucketEnums;
|
||||||
import org.liuxp.minioplus.core.common.exception.MinioPlusBusinessException;
|
import org.liuxp.minioplus.core.common.exception.MinioPlusBusinessException;
|
||||||
import org.liuxp.minioplus.core.common.utils.MinioPlusCommonUtil;
|
import org.liuxp.minioplus.core.common.utils.MinioPlusCommonUtil;
|
||||||
import org.liuxp.minioplus.core.common.vo.CompleteResultVo;
|
import org.liuxp.minioplus.model.vo.CompleteResultVo;
|
||||||
import org.liuxp.minioplus.core.common.vo.FileCheckResultVo;
|
import org.liuxp.minioplus.model.vo.FileCheckResultVo;
|
||||||
import org.liuxp.minioplus.core.common.vo.FileMetadataInfoVo;
|
import org.liuxp.minioplus.model.vo.FileMetadataInfoVo;
|
||||||
import org.liuxp.minioplus.core.engine.StorageEngineService;
|
import org.liuxp.minioplus.core.engine.StorageEngineService;
|
||||||
import org.liuxp.minioplus.core.repository.MetadataRepository;
|
import org.liuxp.minioplus.core.repository.MetadataRepository;
|
||||||
import org.liuxp.minioplus.core.repository.MinioRepository;
|
import org.liuxp.minioplus.core.repository.MinioRepository;
|
||||||
|
|||||||
@ -1,9 +1,9 @@
|
|||||||
package org.liuxp.minioplus.core.repository;
|
package org.liuxp.minioplus.core.repository;
|
||||||
|
|
||||||
import org.liuxp.minioplus.core.common.dto.FileMetadataInfoDTO;
|
import org.liuxp.minioplus.model.dto.FileMetadataInfoDTO;
|
||||||
import org.liuxp.minioplus.core.common.dto.FileMetadataInfoSaveDTO;
|
import org.liuxp.minioplus.model.dto.FileMetadataInfoSaveDTO;
|
||||||
import org.liuxp.minioplus.core.common.dto.FileMetadataInfoUpdateDTO;
|
import org.liuxp.minioplus.model.dto.FileMetadataInfoUpdateDTO;
|
||||||
import org.liuxp.minioplus.core.common.vo.FileMetadataInfoVo;
|
import org.liuxp.minioplus.model.vo.FileMetadataInfoVo;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
|||||||
@ -3,7 +3,7 @@ package org.liuxp.minioplus.core.repository;
|
|||||||
import io.minio.CreateMultipartUploadResponse;
|
import io.minio.CreateMultipartUploadResponse;
|
||||||
import io.minio.ListPartsResponse;
|
import io.minio.ListPartsResponse;
|
||||||
import io.minio.ObjectWriteResponse;
|
import io.minio.ObjectWriteResponse;
|
||||||
import org.liuxp.minioplus.core.common.dto.minio.MultipartUploadCreateDTO;
|
import org.liuxp.minioplus.model.dto.minio.MultipartUploadCreateDTO;
|
||||||
import org.liuxp.minioplus.core.repository.impl.CustomMinioClient;
|
import org.liuxp.minioplus.core.repository.impl.CustomMinioClient;
|
||||||
|
|
||||||
import java.io.InputStream;
|
import java.io.InputStream;
|
||||||
|
|||||||
@ -6,8 +6,8 @@ import io.minio.http.Method;
|
|||||||
import lombok.SneakyThrows;
|
import lombok.SneakyThrows;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.liuxp.minioplus.config.MinioPlusProperties;
|
import org.liuxp.minioplus.config.MinioPlusProperties;
|
||||||
import org.liuxp.minioplus.core.common.dto.minio.MultipartUploadCreateDTO;
|
import org.liuxp.minioplus.model.dto.minio.MultipartUploadCreateDTO;
|
||||||
import org.liuxp.minioplus.core.common.enums.ResponseCodeEnum;
|
import org.liuxp.minioplus.model.enums.ResponseCodeEnum;
|
||||||
import org.liuxp.minioplus.core.common.exception.MinioPlusBusinessException;
|
import org.liuxp.minioplus.core.common.exception.MinioPlusBusinessException;
|
||||||
import org.liuxp.minioplus.core.repository.MinioRepository;
|
import org.liuxp.minioplus.core.repository.MinioRepository;
|
||||||
import org.springframework.stereotype.Repository;
|
import org.springframework.stereotype.Repository;
|
||||||
|
|||||||
@ -1,9 +1,9 @@
|
|||||||
package org.liuxp.minioplus.core.service;
|
package org.liuxp.minioplus.core.service;
|
||||||
|
|
||||||
import cn.hutool.core.lang.Pair;
|
import cn.hutool.core.lang.Pair;
|
||||||
import org.liuxp.minioplus.core.common.dto.FileMetadataInfoDTO;
|
import org.liuxp.minioplus.model.dto.FileMetadataInfoDTO;
|
||||||
import org.liuxp.minioplus.core.common.dto.FileSaveDTO;
|
import org.liuxp.minioplus.model.dto.FileSaveDTO;
|
||||||
import org.liuxp.minioplus.core.common.vo.FileMetadataInfoVo;
|
import org.liuxp.minioplus.model.vo.FileMetadataInfoVo;
|
||||||
|
|
||||||
import java.io.InputStream;
|
import java.io.InputStream;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|||||||
@ -9,15 +9,15 @@ import cn.hutool.crypto.SecureUtil;
|
|||||||
import cn.hutool.http.HttpResponse;
|
import cn.hutool.http.HttpResponse;
|
||||||
import cn.hutool.http.HttpUtil;
|
import cn.hutool.http.HttpUtil;
|
||||||
import org.liuxp.minioplus.config.MinioPlusProperties;
|
import org.liuxp.minioplus.config.MinioPlusProperties;
|
||||||
import org.liuxp.minioplus.core.common.dto.FileMetadataInfoDTO;
|
import org.liuxp.minioplus.model.dto.FileMetadataInfoDTO;
|
||||||
import org.liuxp.minioplus.core.common.dto.FileMetadataInfoSaveDTO;
|
import org.liuxp.minioplus.model.dto.FileMetadataInfoSaveDTO;
|
||||||
import org.liuxp.minioplus.core.common.dto.FileSaveDTO;
|
import org.liuxp.minioplus.model.dto.FileSaveDTO;
|
||||||
import org.liuxp.minioplus.core.common.enums.ResponseCodeEnum;
|
import org.liuxp.minioplus.model.enums.ResponseCodeEnum;
|
||||||
import org.liuxp.minioplus.core.common.enums.StorageBucketEnums;
|
import org.liuxp.minioplus.model.enums.StorageBucketEnums;
|
||||||
import org.liuxp.minioplus.core.common.exception.MinioPlusBusinessException;
|
import org.liuxp.minioplus.core.common.exception.MinioPlusBusinessException;
|
||||||
import org.liuxp.minioplus.core.common.utils.ContentTypeUtil;
|
import org.liuxp.minioplus.core.common.utils.ContentTypeUtil;
|
||||||
import org.liuxp.minioplus.core.common.utils.MinioPlusCommonUtil;
|
import org.liuxp.minioplus.core.common.utils.MinioPlusCommonUtil;
|
||||||
import org.liuxp.minioplus.core.common.vo.FileMetadataInfoVo;
|
import org.liuxp.minioplus.model.vo.FileMetadataInfoVo;
|
||||||
import org.liuxp.minioplus.core.engine.StorageEngineService;
|
import org.liuxp.minioplus.core.engine.StorageEngineService;
|
||||||
import org.liuxp.minioplus.core.repository.MetadataRepository;
|
import org.liuxp.minioplus.core.repository.MetadataRepository;
|
||||||
import org.liuxp.minioplus.core.service.StorageService;
|
import org.liuxp.minioplus.core.service.StorageService;
|
||||||
|
|||||||
19
minio-plus-extension/pom.xml
Normal file
19
minio-plus-extension/pom.xml
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||||
|
<parent>
|
||||||
|
<artifactId>minio-plus-parent</artifactId>
|
||||||
|
<groupId>org.liuxp</groupId>
|
||||||
|
<version>1.0.0-SNAPSHOT</version>
|
||||||
|
</parent>
|
||||||
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|
||||||
|
<artifactId>minio-plus-extension</artifactId>
|
||||||
|
|
||||||
|
<properties>
|
||||||
|
<maven.compiler.source>11</maven.compiler.source>
|
||||||
|
<maven.compiler.target>11</maven.compiler.target>
|
||||||
|
</properties>
|
||||||
|
|
||||||
|
</project>
|
||||||
31
minio-plus-model/pom.xml
Normal file
31
minio-plus-model/pom.xml
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||||
|
<parent>
|
||||||
|
<artifactId>minio-plus-parent</artifactId>
|
||||||
|
<groupId>org.liuxp</groupId>
|
||||||
|
<version>${revision}</version>
|
||||||
|
</parent>
|
||||||
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|
||||||
|
<artifactId>minio-plus-model</artifactId>
|
||||||
|
|
||||||
|
<dependencies>
|
||||||
|
<dependency>
|
||||||
|
<groupId>cn.hutool</groupId>
|
||||||
|
<artifactId>hutool-all</artifactId>
|
||||||
|
</dependency>
|
||||||
|
<!--Swagger工具包 knife4j -->
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.github.xiaoymin</groupId>
|
||||||
|
<artifactId>knife4j-annotations</artifactId>
|
||||||
|
</dependency>
|
||||||
|
<!-- https://mvnrepository.com/artifact/io.swagger/swagger-annotations -->
|
||||||
|
<dependency>
|
||||||
|
<groupId>io.swagger</groupId>
|
||||||
|
<artifactId>swagger-annotations</artifactId>
|
||||||
|
</dependency>
|
||||||
|
</dependencies>
|
||||||
|
|
||||||
|
</project>
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package org.liuxp.minioplus.core.common.bo;
|
package org.liuxp.minioplus.model.bo;
|
||||||
|
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import lombok.Setter;
|
import lombok.Setter;
|
||||||
@ -1,9 +1,9 @@
|
|||||||
package org.liuxp.minioplus.core.common.bo;
|
package org.liuxp.minioplus.model.bo;
|
||||||
|
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import lombok.Setter;
|
import lombok.Setter;
|
||||||
import lombok.ToString;
|
import lombok.ToString;
|
||||||
import org.liuxp.minioplus.core.common.vo.FileCheckResultVo;
|
import org.liuxp.minioplus.model.vo.FileCheckResultVo;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package org.liuxp.minioplus.core.common.copy;
|
package org.liuxp.minioplus.model.copy;
|
||||||
|
|
||||||
import io.minio.messages.ListPartsResult;
|
import io.minio.messages.ListPartsResult;
|
||||||
import io.minio.messages.Part;
|
import io.minio.messages.Part;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package org.liuxp.minioplus.core.common.dto;
|
package org.liuxp.minioplus.model.dto;
|
||||||
|
|
||||||
import io.swagger.annotations.ApiModel;
|
import io.swagger.annotations.ApiModel;
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package org.liuxp.minioplus.core.common.dto;
|
package org.liuxp.minioplus.model.dto;
|
||||||
|
|
||||||
import io.swagger.annotations.ApiModel;
|
import io.swagger.annotations.ApiModel;
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package org.liuxp.minioplus.core.common.dto;
|
package org.liuxp.minioplus.model.dto;
|
||||||
|
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package org.liuxp.minioplus.core.common.dto;
|
package org.liuxp.minioplus.model.dto;
|
||||||
|
|
||||||
import io.swagger.annotations.ApiModel;
|
import io.swagger.annotations.ApiModel;
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package org.liuxp.minioplus.core.common.dto;
|
package org.liuxp.minioplus.model.dto;
|
||||||
|
|
||||||
import io.swagger.annotations.ApiModel;
|
import io.swagger.annotations.ApiModel;
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package org.liuxp.minioplus.core.common.dto;
|
package org.liuxp.minioplus.model.dto;
|
||||||
|
|
||||||
import io.swagger.annotations.ApiModel;
|
import io.swagger.annotations.ApiModel;
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package org.liuxp.minioplus.core.common.dto.minio;
|
package org.liuxp.minioplus.model.dto.minio;
|
||||||
|
|
||||||
import com.google.common.collect.Multimap;
|
import com.google.common.collect.Multimap;
|
||||||
import io.minio.messages.Part;
|
import io.minio.messages.Part;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package org.liuxp.minioplus.core.common.enums;
|
package org.liuxp.minioplus.model.enums;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 返回给前端的code编码对应内容的枚举
|
* 返回给前端的code编码对应内容的枚举
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package org.liuxp.minioplus.core.common.enums;
|
package org.liuxp.minioplus.model.enums;
|
||||||
|
|
||||||
import cn.hutool.core.util.ArrayUtil;
|
import cn.hutool.core.util.ArrayUtil;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package org.liuxp.minioplus.core.common.vo;
|
package org.liuxp.minioplus.model.vo;
|
||||||
|
|
||||||
import io.swagger.annotations.ApiModel;
|
import io.swagger.annotations.ApiModel;
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package org.liuxp.minioplus.core.common.vo;
|
package org.liuxp.minioplus.model.vo;
|
||||||
|
|
||||||
import io.swagger.annotations.ApiModel;
|
import io.swagger.annotations.ApiModel;
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
@ -1,4 +1,4 @@
|
|||||||
package org.liuxp.minioplus.core.common.vo;
|
package org.liuxp.minioplus.model.vo;
|
||||||
|
|
||||||
import io.swagger.annotations.ApiModel;
|
import io.swagger.annotations.ApiModel;
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
18
pom.xml
18
pom.xml
@ -39,6 +39,9 @@
|
|||||||
<module>minio-plus-spring-boot-config</module>
|
<module>minio-plus-spring-boot-config</module>
|
||||||
<module>minio-plus-spring-boot-starter</module>
|
<module>minio-plus-spring-boot-starter</module>
|
||||||
<module>minio-plus-application</module>
|
<module>minio-plus-application</module>
|
||||||
|
<module>minio-plus-model</module>
|
||||||
|
<module>minio-plus-common</module>
|
||||||
|
<module>minio-plus-extension</module>
|
||||||
</modules>
|
</modules>
|
||||||
|
|
||||||
<properties>
|
<properties>
|
||||||
@ -133,11 +136,26 @@
|
|||||||
<artifactId>thumbnailator</artifactId>
|
<artifactId>thumbnailator</artifactId>
|
||||||
<version>${thumbnailator.version}</version>
|
<version>${thumbnailator.version}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.liuxp</groupId>
|
||||||
|
<artifactId>minio-plus-common</artifactId>
|
||||||
|
<version>${revision}</version>
|
||||||
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.liuxp</groupId>
|
<groupId>org.liuxp</groupId>
|
||||||
<artifactId>minio-plus-core</artifactId>
|
<artifactId>minio-plus-core</artifactId>
|
||||||
<version>${revision}</version>
|
<version>${revision}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.liuxp</groupId>
|
||||||
|
<artifactId>minio-plus-extension</artifactId>
|
||||||
|
<version>${revision}</version>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.liuxp</groupId>
|
||||||
|
<artifactId>minio-plus-model</artifactId>
|
||||||
|
<version>${revision}</version>
|
||||||
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.liuxp</groupId>
|
<groupId>org.liuxp</groupId>
|
||||||
<artifactId>minio-plus-spring-boot-config</artifactId>
|
<artifactId>minio-plus-spring-boot-config</artifactId>
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user