增加oss模块,支持各种oss上传
This commit is contained in:
@ -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>
|
||||
|
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user