文件服务细节调整

pull/254/head
xjs 3 years ago
parent 4a7dc5677b
commit 3225117afa

@ -0,0 +1,11 @@
package com.ruoyi.file.consts;
/**
* @author xiejs
* @since 2022-06-30
*/
public class injectionMethodConst {
}

@ -1,5 +1,9 @@
package com.ruoyi.file.controller; 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.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.slf4j.Logger; import org.slf4j.Logger;
@ -10,10 +14,6 @@ import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile; 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;
/** /**
* *
@ -22,30 +22,39 @@ import com.ruoyi.system.api.domain.SysFile;
*/ */
@RestController @RestController
@Api(tags = "文件模块") @Api(tags = "文件模块")
public class SysFileController public class SysFileController {
{
private static final Logger log = LoggerFactory.getLogger(SysFileController.class); private static final Logger log = LoggerFactory.getLogger(SysFileController.class);
private final ISysFileService sysFileService;
@Autowired @Autowired
private ISysFileService sysFileService; public SysFileController(TencentCosFileServiceImpl tencentCosFileService,
FastDfsSysFileServiceImpl fastDfsSysFileService,
FtpSysFileServiceImpl ftpSysFileService,
LocalSysFileServiceImpl localSysFileService,
MinioSysFileServiceImpl minioSysFileService,
AliyunOssFileServiceImpl aliyunOssFileService) {
this.sysFileService = tencentCosFileService;
}
/** /**
* *
*/ */
@PostMapping("upload") @PostMapping("upload")
public R<SysFile> upload(MultipartFile file) @ApiOperation("上传文件")
{ public R<SysFile> upload(MultipartFile file) {
try try {
{
// 上传并返回访问地址 // 上传并返回访问地址
String url = sysFileService.uploadFile(file); String url = sysFileService.uploadFile(file);
SysFile sysFile = new SysFile(); SysFile sysFile = new SysFile();
sysFile.setName(FileUtils.getName(url)); sysFile.setName(FileUtils.getName(url));
sysFile.setUrl(url); sysFile.setUrl(url);
return R.ok(sysFile); return R.ok(sysFile);
} } catch (Exception e) {
catch (Exception e)
{
log.error("上传文件失败", e); log.error("上传文件失败", e);
return R.fail(e.getMessage()); return R.fail(e.getMessage());
} }
@ -53,12 +62,13 @@ public class SysFileController
/** /**
* <p> * <p>
* *
* </p> * </p>
* @author xjs *
* @since 2022-03-02
* @param url * @param url
* @return R * @return R
* @author xjs
* @since 2022-03-02
*/ */
@ApiOperation("删除文件") @ApiOperation("删除文件")
@DeleteMapping("/remove") @DeleteMapping("/remove")

@ -12,8 +12,8 @@ import com.ruoyi.common.core.text.UUID;
import com.ruoyi.common.core.utils.file.FileUploadUtils; import com.ruoyi.common.core.utils.file.FileUploadUtils;
import com.ruoyi.file.config.TencentCosProperties; import com.ruoyi.file.config.TencentCosProperties;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Primary;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.util.Assert;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import java.io.IOException; import java.io.IOException;
@ -29,14 +29,15 @@ import static com.ruoyi.file.utils.OssClient.*;
* @since 2022-06-29 * @since 2022-06-29
*/ */
@Service @Service
@Primary //@Primary
public class TencentOssFileServiceImpl implements ISysFileService { public class TencentCosFileServiceImpl implements ISysFileService {
@Autowired @Autowired
private TencentCosProperties tencentCosProperties; private TencentCosProperties tencentCosProperties;
@Override @Override
public String uploadFile(MultipartFile file) throws Exception { public String uploadFile(MultipartFile file) throws Exception {
Assert.notNull(file, () -> "file is null !");
try { try {
COSClient cosClient = this.createCOSClient(); COSClient cosClient = this.createCOSClient();
String bucketName = tencentCosProperties.getBucketName(); String bucketName = tencentCosProperties.getBucketName();
Loading…
Cancel
Save