From 3225117afa07c92e9a3a04821696d090b1e8e39e Mon Sep 17 00:00:00 2001 From: xjs <1294405880@qq.com> Date: Thu, 30 Jun 2022 14:31:57 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=87=E4=BB=B6=E6=9C=8D=E5=8A=A1=E7=BB=86?= =?UTF-8?q?=E8=8A=82=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../file/consts/injectionMethodConst.java | 11 +++++ .../file/controller/SysFileController.java | 48 +++++++++++-------- ...pl.java => TencentCosFileServiceImpl.java} | 7 +-- 3 files changed, 44 insertions(+), 22 deletions(-) create mode 100644 ruoyi-modules/ruoyi-file/src/main/java/com/ruoyi/file/consts/injectionMethodConst.java rename ruoyi-modules/ruoyi-file/src/main/java/com/ruoyi/file/service/{TencentOssFileServiceImpl.java => TencentCosFileServiceImpl.java} (95%) diff --git a/ruoyi-modules/ruoyi-file/src/main/java/com/ruoyi/file/consts/injectionMethodConst.java b/ruoyi-modules/ruoyi-file/src/main/java/com/ruoyi/file/consts/injectionMethodConst.java new file mode 100644 index 00000000..f11f82d3 --- /dev/null +++ b/ruoyi-modules/ruoyi-file/src/main/java/com/ruoyi/file/consts/injectionMethodConst.java @@ -0,0 +1,11 @@ +package com.ruoyi.file.consts; + +/** + * @author xiejs + * @since 2022-06-30 + */ +public class injectionMethodConst { + + + +} diff --git a/ruoyi-modules/ruoyi-file/src/main/java/com/ruoyi/file/controller/SysFileController.java b/ruoyi-modules/ruoyi-file/src/main/java/com/ruoyi/file/controller/SysFileController.java index d74936f9..423fd464 100644 --- a/ruoyi-modules/ruoyi-file/src/main/java/com/ruoyi/file/controller/SysFileController.java +++ b/ruoyi-modules/ruoyi-file/src/main/java/com/ruoyi/file/controller/SysFileController.java @@ -1,5 +1,9 @@ package com.ruoyi.file.controller; +import com.ruoyi.common.core.domain.R; +import com.ruoyi.common.core.utils.file.FileUtils; +import com.ruoyi.file.service.*; +import com.ruoyi.system.api.domain.SysFile; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.slf4j.Logger; @@ -10,42 +14,47 @@ import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.multipart.MultipartFile; -import com.ruoyi.common.core.domain.R; -import com.ruoyi.common.core.utils.file.FileUtils; -import com.ruoyi.file.service.ISysFileService; -import com.ruoyi.system.api.domain.SysFile; /** * 文件请求处理 - * + * * @author ruoyi */ @RestController @Api(tags = "文件模块") -public class SysFileController -{ +public class SysFileController { private static final Logger log = LoggerFactory.getLogger(SysFileController.class); + private final ISysFileService sysFileService; + + + @Autowired - private ISysFileService sysFileService; + public SysFileController(TencentCosFileServiceImpl tencentCosFileService, + FastDfsSysFileServiceImpl fastDfsSysFileService, + FtpSysFileServiceImpl ftpSysFileService, + LocalSysFileServiceImpl localSysFileService, + MinioSysFileServiceImpl minioSysFileService, + AliyunOssFileServiceImpl aliyunOssFileService) { + + this.sysFileService = tencentCosFileService; + } + /** * 文件上传请求 */ @PostMapping("upload") - public R upload(MultipartFile file) - { - try - { + @ApiOperation("上传文件") + public R upload(MultipartFile file) { + try { // 上传并返回访问地址 String url = sysFileService.uploadFile(file); SysFile sysFile = new SysFile(); sysFile.setName(FileUtils.getName(url)); sysFile.setUrl(url); return R.ok(sysFile); - } - catch (Exception e) - { + } catch (Exception e) { log.error("上传文件失败", e); return R.fail(e.getMessage()); } @@ -53,12 +62,13 @@ public class SysFileController /** *

- * 删除文件 + * 删除文件 *

- * @author xjs - * @since 2022-03-02 + * * @param url 文件路径 * @return R + * @author xjs + * @since 2022-03-02 */ @ApiOperation("删除文件") @DeleteMapping("/remove") @@ -66,4 +76,4 @@ public class SysFileController sysFileService.removeFile(url); return R.ok(); } -} \ No newline at end of file +} diff --git a/ruoyi-modules/ruoyi-file/src/main/java/com/ruoyi/file/service/TencentOssFileServiceImpl.java b/ruoyi-modules/ruoyi-file/src/main/java/com/ruoyi/file/service/TencentCosFileServiceImpl.java similarity index 95% rename from ruoyi-modules/ruoyi-file/src/main/java/com/ruoyi/file/service/TencentOssFileServiceImpl.java rename to ruoyi-modules/ruoyi-file/src/main/java/com/ruoyi/file/service/TencentCosFileServiceImpl.java index 3980c102..13b48f7d 100644 --- a/ruoyi-modules/ruoyi-file/src/main/java/com/ruoyi/file/service/TencentOssFileServiceImpl.java +++ b/ruoyi-modules/ruoyi-file/src/main/java/com/ruoyi/file/service/TencentCosFileServiceImpl.java @@ -12,8 +12,8 @@ import com.ruoyi.common.core.text.UUID; import com.ruoyi.common.core.utils.file.FileUploadUtils; import com.ruoyi.file.config.TencentCosProperties; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.context.annotation.Primary; import org.springframework.stereotype.Service; +import org.springframework.util.Assert; import org.springframework.web.multipart.MultipartFile; import java.io.IOException; @@ -29,14 +29,15 @@ import static com.ruoyi.file.utils.OssClient.*; * @since 2022-06-29 */ @Service -@Primary -public class TencentOssFileServiceImpl implements ISysFileService { +//@Primary +public class TencentCosFileServiceImpl implements ISysFileService { @Autowired private TencentCosProperties tencentCosProperties; @Override public String uploadFile(MultipartFile file) throws Exception { + Assert.notNull(file, () -> "file is null !"); try { COSClient cosClient = this.createCOSClient(); String bucketName = tencentCosProperties.getBucketName();