Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
112Lst
coder_club
提交
00a43ebb
C
coder_club
项目概览
112Lst
/
coder_club
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
C
coder_club
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
00a43ebb
编写于
4月 29, 2024
作者:
112Lst
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
【change】文件上传优化
上级
681bf6f7
变更
7
隐藏空白更改
内联
并排
Showing
7 changed file
with
119 addition
and
33 deletion
+119
-33
club-oss/pom.xml
club-oss/pom.xml
+19
-22
club-oss/src/main/java/com/lssst/oss/adapter/MinioStorageAdapter.java
.../main/java/com/lssst/oss/adapter/MinioStorageAdapter.java
+10
-5
club-oss/src/main/java/com/lssst/oss/controller/FileController.java
...rc/main/java/com/lssst/oss/controller/FileController.java
+5
-3
club-oss/src/main/java/com/lssst/oss/entity/Result.java
club-oss/src/main/java/com/lssst/oss/entity/Result.java
+51
-0
club-oss/src/main/java/com/lssst/oss/entity/ResultCodeEnum.java
...ss/src/main/java/com/lssst/oss/entity/ResultCodeEnum.java
+31
-0
club-oss/src/main/java/com/lssst/oss/service/FileService.java
...-oss/src/main/java/com/lssst/oss/service/FileService.java
+2
-2
club-oss/src/main/java/com/lssst/oss/util/MinioUtil.java
club-oss/src/main/java/com/lssst/oss/util/MinioUtil.java
+1
-1
未找到文件。
club-oss/pom.xml
浏览文件 @
00a43ebb
...
...
@@ -20,17 +20,9 @@
</properties>
<dependencies>
<dependency>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-dependencies
</artifactId>
<version>
2.4.2
</version>
<type>
pom
</type>
<scope>
import
</scope>
</dependency>
<dependency>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-starter-web
</artifactId>
<version>
2.4.2
</version>
<exclusions>
<exclusion>
<artifactId>
spring-boot-starter-logging
</artifactId>
...
...
@@ -64,7 +56,6 @@
<groupId>
com.alibaba.cloud
</groupId>
<artifactId>
spring-cloud-starter-alibaba-nacos-discovery
</artifactId>
</dependency>
</dependencies>
<dependencyManagement>
...
...
@@ -93,6 +84,25 @@
</dependencies>
</dependencyManagement>
<build>
<finalName>
${project.artifactId}
</finalName>
<!--打包成jar包时的名字-->
<plugins>
<plugin>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-maven-plugin
</artifactId>
<version>
2.3.0.RELEASE
</version>
<executions>
<execution>
<goals>
<goal>
repackage
</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
<repositories>
<repository>
<id>
central
</id>
...
...
@@ -107,18 +117,5 @@
</snapshots>
</repository>
</repositories>
<build>
<plugins>
<plugin>
<groupId>
org.apache.maven.plugins
</groupId>
<artifactId>
maven-compiler-plugin
</artifactId>
<configuration>
<source>
8
</source>
<target>
8
</target>
</configuration>
</plugin>
</plugins>
</build>
</project>
\ No newline at end of file
club-oss/src/main/java/com/lssst/oss/adapter/MinioStorageAdapter.java
浏览文件 @
00a43ebb
...
...
@@ -4,6 +4,7 @@ package com.lssst.oss.adapter;
import
com.lssst.oss.entity.FileInfo
;
import
com.lssst.oss.util.MinioUtil
;
import
lombok.SneakyThrows
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.web.multipart.MultipartFile
;
import
javax.annotation.Resource
;
...
...
@@ -14,10 +15,15 @@ import java.util.List;
* minioIO存储适配器
*/
public
class
MinioStorageAdapter
implements
StorageAdapter
{
@Resource
private
MinioUtil
minioUtil
;
/**
* minioUrl
*/
@Value
(
"${minio.url}"
)
private
String
url
;
@Override
@SneakyThrows
public
void
createBucket
(
String
bucket
)
{
...
...
@@ -29,9 +35,9 @@ public class MinioStorageAdapter implements StorageAdapter {
public
void
uploadFile
(
MultipartFile
uploadFile
,
String
bucket
,
String
objectName
)
{
minioUtil
.
createBucket
(
bucket
);
if
(
objectName
!=
null
)
{
minioUtil
.
uploadFile
(
uploadFile
.
getInputStream
(),
bucket
,
objectName
+
"/"
+
uploadFile
.
get
N
ame
());
minioUtil
.
uploadFile
(
uploadFile
.
getInputStream
(),
bucket
,
objectName
+
"/"
+
uploadFile
.
get
OriginalFilen
ame
());
}
else
{
minioUtil
.
uploadFile
(
uploadFile
.
getInputStream
(),
bucket
,
uploadFile
.
get
N
ame
());
minioUtil
.
uploadFile
(
uploadFile
.
getInputStream
(),
bucket
,
uploadFile
.
get
OriginalFilen
ame
());
}
}
...
...
@@ -68,9 +74,8 @@ public class MinioStorageAdapter implements StorageAdapter {
@Override
@SneakyThrows
public
String
getUrl
(
String
bucket
,
String
objectName
)
{
return
minioUtil
.
getPreviewFileUrl
(
bucket
,
objectName
)
;
return
url
+
"/"
+
bucket
+
"/"
+
objectName
;
}
}
club-oss/src/main/java/com/lssst/oss/controller/FileController.java
浏览文件 @
00a43ebb
package
com.lssst.oss.controller
;
import
com.lssst.oss.entity.Result
;
import
com.lssst.oss.service.FileService
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
...
...
@@ -14,6 +15,7 @@ import java.util.List;
@RestController
public
class
FileController
{
@Resource
private
FileService
fileService
;
...
...
@@ -32,10 +34,10 @@ public class FileController {
* 上传文件
*/
@RequestMapping
(
"/upload"
)
public
String
upload
(
MultipartFile
uploadFile
,
String
bucket
,
String
objectName
)
throws
Exception
{
return
fileService
.
uploadFile
(
uploadFile
,
bucket
,
objectName
);
public
Result
upload
(
MultipartFile
uploadFile
,
String
bucket
,
String
objectName
)
throws
Exception
{
String
url
=
fileService
.
uploadFile
(
uploadFile
,
bucket
,
objectName
);
return
Result
.
ok
(
url
);
}
}
club-oss/src/main/java/com/lssst/oss/entity/Result.java
0 → 100644
浏览文件 @
00a43ebb
package
com.lssst.oss.entity
;
import
lombok.Data
;
@Data
public
class
Result
<
T
>
{
private
Boolean
success
;
private
Integer
code
;
private
String
message
;
private
T
data
;
public
static
Result
ok
(){
Result
result
=
new
Result
();
result
.
setSuccess
(
true
);
result
.
setCode
(
ResultCodeEnum
.
SUCCESS
.
getCode
());
result
.
setMessage
(
ResultCodeEnum
.
SUCCESS
.
getDesc
());
return
result
;
}
public
static
<
T
>
Result
ok
(
T
data
){
Result
result
=
new
Result
();
result
.
setSuccess
(
true
);
result
.
setCode
(
ResultCodeEnum
.
SUCCESS
.
getCode
());
result
.
setMessage
(
ResultCodeEnum
.
SUCCESS
.
getDesc
());
result
.
setData
(
data
);
return
result
;
}
public
static
Result
fail
(){
Result
result
=
new
Result
();
result
.
setSuccess
(
false
);
result
.
setCode
(
ResultCodeEnum
.
FAIL
.
getCode
());
result
.
setMessage
(
ResultCodeEnum
.
FAIL
.
getDesc
());
return
result
;
}
public
static
<
T
>
Result
fail
(
T
data
){
Result
result
=
new
Result
();
result
.
setSuccess
(
false
);
result
.
setCode
(
ResultCodeEnum
.
FAIL
.
getCode
());
result
.
setMessage
(
ResultCodeEnum
.
FAIL
.
getDesc
());
result
.
setData
(
data
);
return
result
;
}
}
club-oss/src/main/java/com/lssst/oss/entity/ResultCodeEnum.java
0 → 100644
浏览文件 @
00a43ebb
package
com.lssst.oss.entity
;
import
lombok.Getter
;
@Getter
public
enum
ResultCodeEnum
{
SUCCESS
(
200
,
"成功"
),
FAIL
(
500
,
"失败"
);
public
int
code
;
public
String
desc
;
ResultCodeEnum
(
int
code
,
String
desc
){
this
.
code
=
code
;
this
.
desc
=
desc
;
}
public
static
ResultCodeEnum
getByCode
(
int
codeVal
){
for
(
ResultCodeEnum
resultCodeEnum
:
ResultCodeEnum
.
values
()){
if
(
resultCodeEnum
.
code
==
codeVal
){
return
resultCodeEnum
;
}
}
return
null
;
}
}
club-oss/src/main/java/com/lssst/oss/service/FileService.java
浏览文件 @
00a43ebb
...
...
@@ -33,7 +33,7 @@ public class FileService {
*/
public
String
uploadFile
(
MultipartFile
uploadFile
,
String
bucket
,
String
objectName
){
storageAdapter
.
uploadFile
(
uploadFile
,
bucket
,
objectName
);
objectName
=
objectName
+
"/"
+
uploadFile
.
getOriginalFilename
();
return
storageAdapter
.
getUrl
(
bucket
,
objectName
);
}
}
}
\ No newline at end of file
club-oss/src/main/java/com/lssst/oss/util/MinioUtil.java
浏览文件 @
00a43ebb
...
...
@@ -40,7 +40,7 @@ public class MinioUtil {
*/
public
void
uploadFile
(
InputStream
inputStream
,
String
bucket
,
String
objectName
)
throws
Exception
{
minioClient
.
putObject
(
PutObjectArgs
.
builder
().
bucket
(
bucket
).
object
(
objectName
)
.
stream
(
inputStream
,
-
1
,
Integer
.
MAX_VALUE
).
build
());
.
stream
(
inputStream
,
-
1
,
5242889L
).
build
());
}
/**
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录