增加oss模块,支持各种oss上传

This commit is contained in:
taozi
2023-07-01 15:51:13 +08:00
parent 031b44dec8
commit 8146465e2c
15 changed files with 474 additions and 13 deletions

View File

@ -40,6 +40,13 @@
<version>${qiniu.version}</version>
</dependency>
<!--oss-->
<dependency>
<groupId>co.yixiang</groupId>
<artifactId>yshop-oss</artifactId>
<version>3.3</version>
</dependency>
<!--支付宝依赖-->
<dependency>
<groupId>com.alipay.sdk</groupId>

View File

@ -5,15 +5,17 @@
*/
package co.yixiang.modules.tools.rest;
import cn.hutool.core.io.FileUtil;
import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.StrUtil;
import co.yixiang.api.YshopException;
import co.yixiang.constant.ShopConstants;
import co.yixiang.constant.SystemConfigConstants;
import co.yixiang.enums.ShopCommonEnum;
import co.yixiang.modules.tools.service.dto.LocalStorageDto;
import co.yixiang.modules.tools.domain.QiniuContent;
import co.yixiang.modules.tools.service.LocalStorageService;
import co.yixiang.modules.tools.service.QiNiuService;
import co.yixiang.oss.config.OssProperties;
import co.yixiang.oss.service.OssTemplate;
import co.yixiang.utils.RedisUtils;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@ -41,14 +43,16 @@ import java.util.Map;
public class UploadController {
private final LocalStorageService localStorageService;
private final QiNiuService qiNiuService;
private final RedisUtils redisUtils;
private final OssProperties ossProperties;
private final OssTemplate ossTemplate;
public UploadController(LocalStorageService localStorageService, QiNiuService qiNiuService,
RedisUtils redisUtils) {
public UploadController(LocalStorageService localStorageService, RedisUtils redisUtils,
OssProperties ossProperties, OssTemplate ossTemplate) {
this.localStorageService = localStorageService;
this.qiNiuService = qiNiuService;
this.redisUtils = redisUtils;
this.ossProperties = ossProperties;
this.ossTemplate = ossTemplate;
}
@ -76,13 +80,21 @@ public class UploadController {
url = url.append(","+localUrl + "/file/" + localStorageDTO.getType() + "/" + localStorageDTO.getRealName());
}
}
} else {//走七牛云
} else {
// 走oss存储
for (MultipartFile file : files) {
QiniuContent qiniuContent = qiNiuService.upload(file, qiNiuService.find());
String [] originalFilename = file.getOriginalFilename().split("\\.");
String fileName = ossProperties.getBucketName()+"/file/"+originalFilename[0] + "-" + IdUtil.simpleUUID() + StrUtil.DOT + FileUtil.extName(file.getOriginalFilename());
try {
ossTemplate.putObject(ossProperties.getBucketName(), fileName, file.getInputStream());
} catch (Exception e) {
e.printStackTrace();
}
String fileUrl = String.format(ossProperties.getCustomDomain(), fileName);
if ("".equals(url.toString())) {
url = url.append(qiniuContent.getUrl());
url = url.append(fileUrl);
}else{
url = url.append(","+qiniuContent.getUrl());
url = url.append(","+fileUrl);
}
}
}