From 9e55bb61178862d290d43074c04245478d972245 Mon Sep 17 00:00:00 2001 From: linhw <5331581+linhw11@user.noreply.gitee.com> Date: Wed, 22 May 2024 16:16:40 +0800 Subject: [PATCH] ~ --- .../ruoyi/app/controller/OssController.java | 2 +- .../com/ruoyi/app/service/OssService.java | 2 ++ .../app/service/impl/OssServiceImpl.java | 28 +++++++++++++++++++ 3 files changed, 31 insertions(+), 1 deletion(-) diff --git a/gan-modules/ruoyi-gan/src/main/java/com/ruoyi/app/controller/OssController.java b/gan-modules/ruoyi-gan/src/main/java/com/ruoyi/app/controller/OssController.java index c799d97..8913ec6 100644 --- a/gan-modules/ruoyi-gan/src/main/java/com/ruoyi/app/controller/OssController.java +++ b/gan-modules/ruoyi-gan/src/main/java/com/ruoyi/app/controller/OssController.java @@ -31,7 +31,7 @@ public class OssController { @ApiOperation(value = "上传文件" , notes = "上传文件", produces = "file" , response = R.class) public R uploadFile(@RequestBody List files, HttpServletRequest request ) { - return ossService.uploadFile(files); + return ossService.uploadFileList(files); } //2、删除oss中的文件 diff --git a/gan-modules/ruoyi-gan/src/main/java/com/ruoyi/app/service/OssService.java b/gan-modules/ruoyi-gan/src/main/java/com/ruoyi/app/service/OssService.java index 2350b27..51dbc08 100644 --- a/gan-modules/ruoyi-gan/src/main/java/com/ruoyi/app/service/OssService.java +++ b/gan-modules/ruoyi-gan/src/main/java/com/ruoyi/app/service/OssService.java @@ -5,10 +5,12 @@ import com.ruoyi.common.core.domain.R; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletRequest; +import java.util.List; public interface OssService { R uploadFile(MultipartFile file); + R uploadFileList(List files); R deleteFile(String path); } \ No newline at end of file diff --git a/gan-modules/ruoyi-gan/src/main/java/com/ruoyi/app/service/impl/OssServiceImpl.java b/gan-modules/ruoyi-gan/src/main/java/com/ruoyi/app/service/impl/OssServiceImpl.java index 541df30..cb89cf9 100644 --- a/gan-modules/ruoyi-gan/src/main/java/com/ruoyi/app/service/impl/OssServiceImpl.java +++ b/gan-modules/ruoyi-gan/src/main/java/com/ruoyi/app/service/impl/OssServiceImpl.java @@ -11,6 +11,8 @@ import org.springframework.web.multipart.MultipartFile; import java.io.IOException; import java.io.InputStream; +import java.util.ArrayList; +import java.util.List; import java.util.UUID; @Service("ossService") @@ -48,6 +50,32 @@ public class OssServiceImpl implements OssService { } + @Override + public R uploadFileList(List files) { + List list = new ArrayList<>(); + try { + //4、 创建OSSClient实例。 + OSS ossClient = new OSSClientBuilder().build(schema + endpoint, accessKeyId, accessKeySecret); + for (MultipartFile file : files) { + String fileName = file.getOriginalFilename();//获取上传文件的名称 + InputStream inputStream = file.getInputStream(); + // 通过ossClient上传文件: 参数1:桶名, 参数2:上传后的文件路径+文件名 ,参数3:要上传的文件流 + String objectName = new DateTime().toString("yyyy/MM/dd/") + + UUID.randomUUID().toString().replace("-", "").substring(0, 16) + + "_" + fileName;//使用UUID+源文件名称后缀拼接生成objectName + ossClient.putObject(bucketName, objectName, inputStream); + // 关闭OSSClient。 + ossClient.shutdown(); + + String path = schema + bucketName + "." + endpoint + "/" + objectName;//手动拼接上传成功的图片地址 + list.add(path); + } + } catch (IOException e) { + throw new RuntimeException("图片上传失败"); + } + return R.ok(list); + } + @Override public R deleteFile(String path) { String host = schema + bucketName + "." + endpoint +"/";