Compare commits

..

No commits in common. "ced4568e8de31cee52d38784af13c2b9b647e686" and "cc42d76bb62c82d33c9532cc17952947bc5e775a" have entirely different histories.

View File

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