RuoYi
4 years ago
8 changed files with 351 additions and 218 deletions
@ -0,0 +1,82 @@
@@ -0,0 +1,82 @@
|
||||
package com.ruoyi.file.config; |
||||
|
||||
import org.springframework.boot.context.properties.ConfigurationProperties; |
||||
import org.springframework.context.annotation.Bean; |
||||
import org.springframework.context.annotation.Configuration; |
||||
import io.minio.MinioClient; |
||||
|
||||
/** |
||||
* Minio 配置信息 |
||||
* |
||||
* @author ruoiy |
||||
*/ |
||||
@Configuration |
||||
@ConfigurationProperties(prefix = "minio") |
||||
public class MinioConfig |
||||
{ |
||||
/** |
||||
* 服务地址 |
||||
*/ |
||||
private String url; |
||||
|
||||
/** |
||||
* 用户名 |
||||
*/ |
||||
private String accessKey; |
||||
|
||||
/** |
||||
* 密码 |
||||
*/ |
||||
private String secretKey; |
||||
|
||||
/** |
||||
* 存储桶名称 |
||||
*/ |
||||
private String bucketName; |
||||
|
||||
public String getUrl() |
||||
{ |
||||
return url; |
||||
} |
||||
|
||||
public void setUrl(String url) |
||||
{ |
||||
this.url = url; |
||||
} |
||||
|
||||
public String getAccessKey() |
||||
{ |
||||
return accessKey; |
||||
} |
||||
|
||||
public void setAccessKey(String accessKey) |
||||
{ |
||||
this.accessKey = accessKey; |
||||
} |
||||
|
||||
public String getSecretKey() |
||||
{ |
||||
return secretKey; |
||||
} |
||||
|
||||
public void setSecretKey(String secretKey) |
||||
{ |
||||
this.secretKey = secretKey; |
||||
} |
||||
|
||||
public String getBucketName() |
||||
{ |
||||
return bucketName; |
||||
} |
||||
|
||||
public void setBucketName(String bucketName) |
||||
{ |
||||
this.bucketName = bucketName; |
||||
} |
||||
|
||||
@Bean |
||||
public MinioClient getMinioClient() |
||||
{ |
||||
return MinioClient.builder().endpoint(url).credentials(accessKey, secretKey).build(); |
||||
} |
||||
} |
@ -0,0 +1,44 @@
@@ -0,0 +1,44 @@
|
||||
package com.ruoyi.file.service; |
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired; |
||||
import org.springframework.stereotype.Service; |
||||
import org.springframework.web.multipart.MultipartFile; |
||||
import com.ruoyi.file.config.MinioConfig; |
||||
import com.ruoyi.file.utils.FileUploadUtils; |
||||
import io.minio.MinioClient; |
||||
import io.minio.PutObjectArgs; |
||||
|
||||
/** |
||||
* Minio 文件存储 |
||||
* |
||||
* @author ruoyi |
||||
*/ |
||||
@Service |
||||
public class MinioSysFileServiceImpl implements ISysFileService |
||||
{ |
||||
@Autowired |
||||
private MinioConfig minioConfig; |
||||
|
||||
@Autowired |
||||
private MinioClient client; |
||||
|
||||
/** |
||||
* 本地文件上传接口 |
||||
* |
||||
* @param file 上传的文件 |
||||
* @return 访问地址 |
||||
* @throws Exception |
||||
*/ |
||||
public String uploadFile(MultipartFile file) throws Exception |
||||
{ |
||||
String fileName = FileUploadUtils.extractFilename(file); |
||||
PutObjectArgs args = PutObjectArgs.builder() |
||||
.bucket(minioConfig.getBucketName()) |
||||
.object(fileName) |
||||
.stream(file.getInputStream(), file.getSize(), -1) |
||||
.contentType(file.getContentType()) |
||||
.build(); |
||||
client.putObject(args); |
||||
return minioConfig.getUrl() + "/" + minioConfig.getBucketName() + "/" + fileName; |
||||
} |
||||
} |
Loading…
Reference in new issue