Compare commits
3 Commits
cc42d76bb6
...
ced4568e8d
| Author | SHA1 | Date | |
|---|---|---|---|
| ced4568e8d | |||
| 994c377ba8 | |||
| 2939be7372 |
@ -8,6 +8,8 @@ import com.aliyun.oss.model.PolicyConditions;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import jakarta.annotation.Resource;
|
||||
import net.lab1024.sa.admin.config.AppConfig;
|
||||
import net.lab1024.sa.admin.config.EnvConfig;
|
||||
import net.lab1024.sa.admin.config.OssConfig;
|
||||
import net.lab1024.sa.admin.constant.AdminSwaggerTagConst;
|
||||
import net.lab1024.sa.admin.module.business.file.constant.OSSFileTypeEnum;
|
||||
@ -15,6 +17,7 @@ import net.lab1024.sa.admin.module.business.file.domain.vo.OSSPolicyVO;
|
||||
import net.lab1024.sa.base.common.domain.ResponseDTO;
|
||||
import net.lab1024.sa.base.common.util.SmartRequestUtil;
|
||||
import net.lab1024.sa.base.constant.SwaggerTagConst;
|
||||
import org.checkerframework.checker.units.qual.A;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PathVariable;
|
||||
@ -23,6 +26,7 @@ import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.Date;
|
||||
import java.util.Objects;
|
||||
|
||||
@RestController
|
||||
@Tag(name = SwaggerTagConst.Support.FILE)
|
||||
@ -31,13 +35,20 @@ public class OSSFileController {
|
||||
@Resource
|
||||
private OssConfig ossConfig;
|
||||
|
||||
@Resource
|
||||
private EnvConfig envConfig;
|
||||
|
||||
@Operation(summary = "获取上传文件 Policy, notes=\"type==1 普通;type==2 签名图片\"")
|
||||
@GetMapping("/file/getOSSPolicy/{type}")
|
||||
@SaCheckPermission("ossFile:add")
|
||||
public ResponseDTO<OSSPolicyVO> getOSSPolicy(@PathVariable int type){
|
||||
OSSFileTypeEnum ossFileType = OSSFileTypeEnum.getByVal(type);
|
||||
Long requestUserId = SmartRequestUtil.getRequestUserId();
|
||||
String dir = ossFileType.getDesc() + File.separator + "images/";
|
||||
|
||||
String dir = "dev/static/images/images";
|
||||
if (Objects.equals(envConfig.getActive(), "prod")){
|
||||
dir = "prod/static/images/";
|
||||
}
|
||||
|
||||
// String dir = ossFileType.getDesc() + File.separator + requestUserId + File.separator;
|
||||
// callbackUrl为 上传回调服务器的URL,请将下面的IP和Port配置为您自己的真实信息。
|
||||
OSSClient client = new OSSClient(ossConfig.getEndpoint(), ossConfig.getAccessKey(), ossConfig.getAccessKeySecret());
|
||||
@ -47,7 +58,7 @@ public class OSSFileController {
|
||||
Date expiration = new Date(expireEndTime);
|
||||
PolicyConditions policyConds = new PolicyConditions();
|
||||
policyConds.addConditionItem(PolicyConditions.COND_CONTENT_LENGTH_RANGE, 0, 10*1024*1024);// 最大 10 M
|
||||
policyConds.addConditionItem(MatchMode.StartWith, PolicyConditions.COND_KEY, ossFileType.getDesc());
|
||||
policyConds.addConditionItem(MatchMode.StartWith, PolicyConditions.COND_KEY, dir);
|
||||
|
||||
String postPolicy = client.generatePostPolicy(expiration, policyConds);
|
||||
byte[] binaryData = postPolicy.getBytes("utf-8");
|
||||
@ -65,12 +76,16 @@ public class OSSFileController {
|
||||
|
||||
@Operation(summary = "获取上传文件 Policy, notes=\"type==1 普通;type==2 签名图片\"")
|
||||
@GetMapping("/file/getOSSPolicy/admin/{type}")
|
||||
@SaCheckPermission("ossFile:addAdmin")
|
||||
|
||||
public ResponseDTO<OSSPolicyVO> getOSSPolicyAdmin(@PathVariable int type){
|
||||
OSSFileTypeEnum ossFileType = OSSFileTypeEnum.getByVal(type);
|
||||
Long requestUserId = SmartRequestUtil.getRequestUserId();
|
||||
String dir = ossFileType.getDesc() + File.separator + "images/";
|
||||
|
||||
String dir = "dev/static/images/images";
|
||||
if (Objects.equals(envConfig.getActive(), "prod")){
|
||||
dir = "prod/static/images/";
|
||||
}
|
||||
|
||||
// String dir = ossFileType.getDesc() + File.separator + "images/";
|
||||
// String dir = ossFileType.getDesc() + File.separator + requestUserId + File.separator;
|
||||
// callbackUrl为 上传回调服务器的URL,请将下面的IP和Port配置为您自己的真实信息。
|
||||
OSSClient client = new OSSClient(ossConfig.getEndpoint(), ossConfig.getAccessKey(), ossConfig.getAccessKeySecret());
|
||||
@ -80,7 +95,7 @@ public class OSSFileController {
|
||||
Date expiration = new Date(expireEndTime);
|
||||
PolicyConditions policyConds = new PolicyConditions();
|
||||
policyConds.addConditionItem(PolicyConditions.COND_CONTENT_LENGTH_RANGE, 0, 10*1024*1024);// 最大 10 M
|
||||
policyConds.addConditionItem(MatchMode.StartWith, PolicyConditions.COND_KEY, ossFileType.getDesc());
|
||||
policyConds.addConditionItem(MatchMode.StartWith, PolicyConditions.COND_KEY, dir);
|
||||
|
||||
String postPolicy = client.generatePostPolicy(expiration, policyConds);
|
||||
byte[] binaryData = postPolicy.getBytes("utf-8");
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user