xuhy
2024-12-31 8b3dc43ec3ef6452be333727afd7e43b11e81994
oss修改
7个文件已修改
94338 ■■■■ 已修改文件
applet/src/main/resources/application.yml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
common/src/main/java/com/jilongda/common/component/AliOss.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
common/src/main/java/com/jilongda/common/component/AliOssFileUploadController.java 348 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
logs/app.log 93915 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
manage/src/main/java/com/jilongda/manage/component/AliOssManageFileUploadController.java 42 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
manage/src/main/java/com/jilongda/manage/component/AliOssMange.java 23 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
manage/src/main/resources/application.yml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
applet/src/main/resources/application.yml
@@ -13,8 +13,8 @@
      max-request-size: 500MB
      resolve-lazily: true #设置为懒加载,不然依然会捕获不到异常
  profiles:
    active: dev
  #    active: prod
#    active: dev
    active: prod
  main:
    allow-bean-definition-overriding: true
#  rabbitmq:
common/src/main/java/com/jilongda/common/component/AliOss.java
@@ -26,7 +26,7 @@
    /**
     * host的格式为 bucketname.endpoint
     */
    public static final String host = "https://" + "yandu66.oss-cn-shenzhen.aliyuncs.com";
    public static final String host = "https://yandu66.oss-cn-shenzhen.aliyuncs.com";
    public static String dir = "eyes/";
common/src/main/java/com/jilongda/common/component/AliOssFileUploadController.java
@@ -1,178 +1,178 @@
package com.jilongda.common.component;
import com.aliyun.oss.OSS;
import com.aliyun.oss.OSSClientBuilder;
import com.aliyun.oss.common.utils.BinaryUtil;
import com.aliyun.oss.model.MatchMode;
import com.aliyun.oss.model.OSSObject;
import com.aliyun.oss.model.PolicyConditions;
import com.aliyun.oss.model.PutObjectResult;
import com.jilongda.common.basic.ApiResult;
import com.jilongda.common.utils.WebUtils;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.nio.charset.StandardCharsets;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.LinkedHashMap;
import java.util.Map;
/**
 * @author feiyunchuan
 */
@Slf4j
@Api(tags = "Ali-OSS文件上传接口")
@RestController
@RequestMapping("/ali-oss/")
public class AliOssFileUploadController {
    @Value("${file.cdn:https://nncdn.pharmacylinked.com}")
    private String FILE_CDN;
//    @ApiOperation(value = "单文件上传", notes = "单文件上传,rename 默认不重命名")
//    @PostMapping(value = "strUpload", headers = "content-type=multipart/form-data")
//    public String strUploads(@RequestParam(value = "file") MultipartFile mf) throws IOException {
//        if (mf.isEmpty()) {
//            return "请传入文件!";
//package com.jilongda.common.component;
//
//
//import com.aliyun.oss.OSS;
//import com.aliyun.oss.OSSClientBuilder;
//import com.aliyun.oss.common.utils.BinaryUtil;
//import com.aliyun.oss.model.MatchMode;
//import com.aliyun.oss.model.OSSObject;
//import com.aliyun.oss.model.PolicyConditions;
//import com.aliyun.oss.model.PutObjectResult;
//import com.jilongda.common.basic.ApiResult;
//import com.jilongda.common.utils.WebUtils;
//import io.swagger.annotations.Api;
//import io.swagger.annotations.ApiOperation;
//import lombok.extern.slf4j.Slf4j;
//import org.springframework.beans.factory.annotation.Value;
//import org.springframework.web.bind.annotation.*;
//import org.springframework.web.multipart.MultipartFile;
//
//import javax.servlet.http.HttpServletResponse;
//import java.io.File;
//import java.io.IOException;
//import java.io.InputStream;
//import java.nio.charset.StandardCharsets;
//import java.text.SimpleDateFormat;
//import java.util.Date;
//import java.util.LinkedHashMap;
//import java.util.Map;
//
//
///**
// * @author feiyunchuan
// */
//@Slf4j
//@Api(tags = "Ali-OSS文件上传接口")
//@RestController
//@RequestMapping("/ali-oss/")
//public class AliOssFileUploadController {
//
//    @Value("${file.cdn:https://nncdn.pharmacylinked.com}")
//    private String FILE_CDN;
//
//
////    @ApiOperation(value = "单文件上传", notes = "单文件上传,rename 默认不重命名")
////    @PostMapping(value = "strUpload", headers = "content-type=multipart/form-data")
////    public String strUploads(@RequestParam(value = "file") MultipartFile mf) throws IOException {
////        if (mf.isEmpty()) {
////            return "请传入文件!";
////        }
////        String fileName = mf.getOriginalFilename();
////        String TimeDir =new SimpleDateFormat("yyyy-MM-dd").format(new Date());
//////        String realPath = "D:\\" + TimeDir;
////        String realPath = "/usr/local/nginx/html/images/" + TimeDir;
////        File file = new File(realPath);
////        // 没有目录就创建
////        if (!file.exists()) {
////            file.mkdirs();
////        }
////        File targetFile = new File(realPath, fileName);//目标文件
////        //开始从源文件拷贝到目标文件
////        //传图片一步到位
////        mf.transferTo(targetFile);
////        //拼接数据
////        return "http://eyes.chelota.com/images/" + TimeDir +"/"+ fileName;
////    }
//    @ApiOperation(value = "服务端上传", notes = "服务端上传")
//    @PostMapping(value = "upload")
//    public ApiResult<String> fileUpload(@RequestParam(value = "file") MultipartFile file) throws IOException {
//        InputStream inputStream = file.getInputStream();
//        String filename = System.currentTimeMillis() + file.getOriginalFilename();
//        // Endpoint以杭州为例,其它Region请按实际情况填写。
//        final String endpoint = AliOss.endpoint;
//        // 阿里云主账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM账号进行API访问或日常运维,请登录RAM控制台创建RAM账号。
//        final String accessKeyId = AliOss.accessKeyId;
//        final String accessKeySecret = AliOss.accessKeySecret;
//        final String bucketName = AliOss.bucketName;
//        // <yourObjectName>上传文件到OSS时需要指定包含文件后缀在内的完整路径,例如abc/efg/123.jpg。
//        String objectName = AliOss.dir + filename;
//        // 创建OSSClient实例。
//        OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
//        // 填写本地文件的完整路径。如果未指定本地路径,则默认从示例程序所属项目对应本地路径中上传文件流。
//        // InputStream inputStream = new FileInputStream("D:\\localpath\\examplefile.txt");
//        // 依次填写Bucket名称(例如examplebucket)和Object完整路径(例如exampledir/exampleobject.txt)。Object完整路径中不能包含Bucket名称。
//        PutObjectResult putObjectResult = ossClient.putObject(bucketName, objectName, inputStream);
//        OSSObject ossObject = ossClient.getObject(bucketName, objectName);
//        String uri = ossObject.getResponse().getUri();
//        // 关闭OSSClient。
//        ossClient.shutdown();
////        uri = uri.replace("http://nn-bucket.oss-cn-shanghai.aliyuncs.com",FILE_CDN);
//        return ApiResult.okmsg(uri);
//        }
//        String fileName = mf.getOriginalFilename();
//        String TimeDir =new SimpleDateFormat("yyyy-MM-dd").format(new Date());
////        String realPath = "D:\\" + TimeDir;
//        String realPath = "/usr/local/nginx/html/images/" + TimeDir;
//        File file = new File(realPath);
//        // 没有目录就创建
//        if (!file.exists()) {
//            file.mkdirs();
//
//
//    @ApiOperation(value = "服务端签名后直传", notes = "服务端签名后直传")
//    @PostMapping("signature")
//    public ApiResult<Map<String, String>> signature() {
//        OSS builder = new OSSClientBuilder().build(AliOss.endpoint, AliOss.accessKeyId, AliOss.accessKeySecret);
//        long expireTime = 30;
//        long expireEndTime = System.currentTimeMillis() + expireTime * 1000;
//        Date expiration = new Date(expireEndTime);
//        PolicyConditions policyConds = new PolicyConditions();
//        policyConds.addConditionItem(PolicyConditions.COND_CONTENT_LENGTH_RANGE, 0, 1048576000);
//        policyConds.addConditionItem(MatchMode.StartWith, PolicyConditions.COND_KEY, AliOss.dir);
//        String postPolicy = builder.generatePostPolicy(expiration, policyConds);
//        byte[] binaryData = postPolicy.getBytes(StandardCharsets.UTF_8);
//        String encodedPolicy = BinaryUtil.toBase64String(binaryData);
//        String postSignature = builder.calculatePostSignature(postPolicy);
//        Map<String, String> respMap = new LinkedHashMap<>(6);
//        respMap.put("accessid", AliOss.accessKeyId);
//        respMap.put("policy", encodedPolicy);
//        respMap.put("signature", postSignature);
//        // 示例为dir
//        respMap.put("dir", AliOss.dir);
//        // 前端为key
//        // respMap.put("key", AliOss.dir);
//        respMap.put("host", AliOss.host);
////        respMap.put("cdn", AliOss.cdn);
//        respMap.put("expire", String.valueOf(expireEndTime / 1000));
////        // 回调
////        if (StringUtils.hasLength(AliOss.callbackUrl)) {
////            JSONObject jasonCallback = new JSONObject();
////            jasonCallback.put("callbackUrl", AliOss.callbackUrl);
////            String callbackBody = "{\"filename\":${object},\"size\":${size},\"mimeType\":${mimeType}}";
////            jasonCallback.put("callbackBody", callbackBody);
////            jasonCallback.put("callbackBodyType", "application/json");
////            String base64CallbackBody = BinaryUtil.toBase64String(jasonCallback.toString().getBytes());
////            respMap.put("callback", base64CallbackBody);
////        }
//
//        HttpServletResponse response = WebUtils.response();
//        assert response != null;
//        response.setHeader("Access-Control-Allow-Origin", "*");
//        response.setHeader("Access-Control-Allow-Methods", "GET, POST");
//
//        // 关闭OSSClient。
//        builder.shutdown();
//        return ApiResult.success(respMap);
//        }
//        File targetFile = new File(realPath, fileName);//目标文件
//        //开始从源文件拷贝到目标文件
//        //传图片一步到位
//        mf.transferTo(targetFile);
//        //拼接数据
//        return "http://eyes.chelota.com/images/" + TimeDir +"/"+ fileName;
//
//    @ApiOperation(value = "服务端上传(二进制字符串)", notes = "服务端上传")
//    @PostMapping(value = "str/upload")
//    public String strUpload(InputStream inputStream, String filename) throws IOException {
//        //String filename = System.currentTimeMillis() + CodeGenerateUtils.generateVolumeSn()+".jpg";
//        // Endpoint以杭州为例,其它Region请按实际情况填写。
//        final String endpoint = AliOss.endpoint;
//        // 阿里云主账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM账号进行API访问或日常运维,请登录RAM控制台创建RAM账号。
//        final String accessKeyId = AliOss.accessKeyId;
//        final String accessKeySecret = AliOss.accessKeySecret;
//        final String bucketName = AliOss.bucketName;
//        // <yourObjectName>上传文件到OSS时需要指定包含文件后缀在内的完整路径,例如abc/efg/123.jpg。
//        String objectName = AliOss.dir + filename;
//        // 创建OSSClient实例。
//        OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
//        // 填写本地文件的完整路径。如果未指定本地路径,则默认从示例程序所属项目对应本地路径中上传文件流。
//        // InputStream inputStream = new FileInputStream("D:\\localpath\\examplefile.txt");
//        // 依次填写Bucket名称(例如examplebucket)和Object完整路径(例如exampledir/exampleobject.txt)。Object完整路径中不能包含Bucket名称。
//        PutObjectResult putObjectResult = ossClient.putObject(bucketName, objectName, inputStream);
//        OSSObject ossObject = ossClient.getObject(bucketName, objectName);
//        String uri = ossObject.getResponse().getUri();
//        // 关闭OSSClient。
//        ossClient.shutdown();
//        return uri;
//    }
    @ApiOperation(value = "服务端上传", notes = "服务端上传")
    @PostMapping(value = "upload")
    public ApiResult<String> fileUpload(@RequestParam(value = "file") MultipartFile file) throws IOException {
        InputStream inputStream = file.getInputStream();
        String filename = System.currentTimeMillis() + file.getOriginalFilename();
        // Endpoint以杭州为例,其它Region请按实际情况填写。
        final String endpoint = AliOss.endpoint;
        // 阿里云主账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM账号进行API访问或日常运维,请登录RAM控制台创建RAM账号。
        final String accessKeyId = AliOss.accessKeyId;
        final String accessKeySecret = AliOss.accessKeySecret;
        final String bucketName = AliOss.bucketName;
        // <yourObjectName>上传文件到OSS时需要指定包含文件后缀在内的完整路径,例如abc/efg/123.jpg。
        String objectName = AliOss.dir + filename;
        // 创建OSSClient实例。
        OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
        // 填写本地文件的完整路径。如果未指定本地路径,则默认从示例程序所属项目对应本地路径中上传文件流。
        // InputStream inputStream = new FileInputStream("D:\\localpath\\examplefile.txt");
        // 依次填写Bucket名称(例如examplebucket)和Object完整路径(例如exampledir/exampleobject.txt)。Object完整路径中不能包含Bucket名称。
        PutObjectResult putObjectResult = ossClient.putObject(bucketName, objectName, inputStream);
        OSSObject ossObject = ossClient.getObject(bucketName, objectName);
        String uri = ossObject.getResponse().getUri();
        // 关闭OSSClient。
        ossClient.shutdown();
//        uri = uri.replace("http://nn-bucket.oss-cn-shanghai.aliyuncs.com",FILE_CDN);
        return ApiResult.okmsg(uri);
    }
    @ApiOperation(value = "服务端签名后直传", notes = "服务端签名后直传")
    @PostMapping("signature")
    public ApiResult<Map<String, String>> signature() {
        OSS builder = new OSSClientBuilder().build(AliOss.endpoint, AliOss.accessKeyId, AliOss.accessKeySecret);
        long expireTime = 30;
        long expireEndTime = System.currentTimeMillis() + expireTime * 1000;
        Date expiration = new Date(expireEndTime);
        PolicyConditions policyConds = new PolicyConditions();
        policyConds.addConditionItem(PolicyConditions.COND_CONTENT_LENGTH_RANGE, 0, 1048576000);
        policyConds.addConditionItem(MatchMode.StartWith, PolicyConditions.COND_KEY, AliOss.dir);
        String postPolicy = builder.generatePostPolicy(expiration, policyConds);
        byte[] binaryData = postPolicy.getBytes(StandardCharsets.UTF_8);
        String encodedPolicy = BinaryUtil.toBase64String(binaryData);
        String postSignature = builder.calculatePostSignature(postPolicy);
        Map<String, String> respMap = new LinkedHashMap<>(6);
        respMap.put("accessid", AliOss.accessKeyId);
        respMap.put("policy", encodedPolicy);
        respMap.put("signature", postSignature);
        // 示例为dir
        respMap.put("dir", AliOss.dir);
        // 前端为key
        // respMap.put("key", AliOss.dir);
        respMap.put("host", AliOss.host);
//        respMap.put("cdn", AliOss.cdn);
        respMap.put("expire", String.valueOf(expireEndTime / 1000));
//        // 回调
//        if (StringUtils.hasLength(AliOss.callbackUrl)) {
//            JSONObject jasonCallback = new JSONObject();
//            jasonCallback.put("callbackUrl", AliOss.callbackUrl);
//            String callbackBody = "{\"filename\":${object},\"size\":${size},\"mimeType\":${mimeType}}";
//            jasonCallback.put("callbackBody", callbackBody);
//            jasonCallback.put("callbackBodyType", "application/json");
//            String base64CallbackBody = BinaryUtil.toBase64String(jasonCallback.toString().getBytes());
//            respMap.put("callback", base64CallbackBody);
//
//    /**
//     * oss上传成功回调
//     *
//     * @param callback
//     * @return
//     */
//    @ApiOperation(value = "oss回调", notes = "oss回调")
//    @PostMapping(value = "/callback")
//    public ApiResult callback(@RequestBody Map<String, Object> callback) {
//        String filename = "http://".concat(AliOss.bucketName).concat(".").concat(AliOss.endpoint).concat("/").concat(callback.get("filename").toString());
//        return ApiResult.okmsg(filename);
//        }
        HttpServletResponse response = WebUtils.response();
        assert response != null;
        response.setHeader("Access-Control-Allow-Origin", "*");
        response.setHeader("Access-Control-Allow-Methods", "GET, POST");
        // 关闭OSSClient。
        builder.shutdown();
        return ApiResult.success(respMap);
    }
    @ApiOperation(value = "服务端上传(二进制字符串)", notes = "服务端上传")
    @PostMapping(value = "str/upload")
    public String strUpload(InputStream inputStream, String filename) throws IOException {
        //String filename = System.currentTimeMillis() + CodeGenerateUtils.generateVolumeSn()+".jpg";
        // Endpoint以杭州为例,其它Region请按实际情况填写。
        final String endpoint = AliOss.endpoint;
        // 阿里云主账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM账号进行API访问或日常运维,请登录RAM控制台创建RAM账号。
        final String accessKeyId = AliOss.accessKeyId;
        final String accessKeySecret = AliOss.accessKeySecret;
        final String bucketName = AliOss.bucketName;
        // <yourObjectName>上传文件到OSS时需要指定包含文件后缀在内的完整路径,例如abc/efg/123.jpg。
        String objectName = AliOss.dir + filename;
        // 创建OSSClient实例。
        OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
        // 填写本地文件的完整路径。如果未指定本地路径,则默认从示例程序所属项目对应本地路径中上传文件流。
        // InputStream inputStream = new FileInputStream("D:\\localpath\\examplefile.txt");
        // 依次填写Bucket名称(例如examplebucket)和Object完整路径(例如exampledir/exampleobject.txt)。Object完整路径中不能包含Bucket名称。
        PutObjectResult putObjectResult = ossClient.putObject(bucketName, objectName, inputStream);
        OSSObject ossObject = ossClient.getObject(bucketName, objectName);
        String uri = ossObject.getResponse().getUri();
        // 关闭OSSClient。
        ossClient.shutdown();
        return uri;
    }
    /**
     * oss上传成功回调
     *
     * @param callback
     * @return
     */
    @ApiOperation(value = "oss回调", notes = "oss回调")
    @PostMapping(value = "/callback")
    public ApiResult callback(@RequestBody Map<String, Object> callback) {
        String filename = "http://".concat(AliOss.bucketName).concat(".").concat(AliOss.endpoint).concat("/").concat(callback.get("filename").toString());
        return ApiResult.okmsg(filename);
    }
}
//
//}
logs/app.log
Diff too large
manage/src/main/java/com/jilongda/manage/component/AliOssManageFileUploadController.java
@@ -33,7 +33,7 @@
@Slf4j
@Api(tags = "Ali-OSS文件上传接口")
@RestController
@RequestMapping("/ali-obs/")
@RequestMapping("/ali-oss/")
public class AliOssManageFileUploadController {
    @Value("${file.cdn:https://nncdn.pharmacylinked.com}")
@@ -45,13 +45,13 @@
        InputStream inputStream = file.getInputStream();
        String filename = System.currentTimeMillis() + file.getOriginalFilename();
        // Endpoint以杭州为例,其它Region请按实际情况填写。
        final String endpoint = AliOss.endpoint;
        final String endpoint = AliOssMange.endpoint;
        // 阿里云主账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM账号进行API访问或日常运维,请登录RAM控制台创建RAM账号。
        final String accessKeyId = AliOss.accessKeyId;
        final String accessKeySecret = AliOss.accessKeySecret;
        final String bucketName = AliOss.bucketName;
        final String accessKeyId = AliOssMange.accessKeyId;
        final String accessKeySecret = AliOssMange.accessKeySecret;
        final String bucketName = AliOssMange.bucketName;
        // <yourObjectName>上传文件到OSS时需要指定包含文件后缀在内的完整路径,例如abc/efg/123.jpg。
        String objectName = AliOss.dir + filename;
        String objectName = AliOssMange.dir + filename;
        log.info(objectName);
        // 创建OSSClient实例。
        OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
@@ -72,32 +72,32 @@
    @ApiOperation(value = "服务端签名后直传", notes = "服务端签名后直传")
    @PostMapping("signature")
    public ApiResult<Map<String, String>> signature() {
        OSS builder = new OSSClientBuilder().build(AliOss.endpoint, AliOss.accessKeyId, AliOss.accessKeySecret);
        OSS builder = new OSSClientBuilder().build(AliOssMange.endpoint, AliOssMange.accessKeyId, AliOssMange.accessKeySecret);
        long expireTime = 30;
        long expireEndTime = System.currentTimeMillis() + expireTime * 1000;
        Date expiration = new Date(expireEndTime);
        PolicyConditions policyConds = new PolicyConditions();
        policyConds.addConditionItem(PolicyConditions.COND_CONTENT_LENGTH_RANGE, 0, 1048576000);
        policyConds.addConditionItem(MatchMode.StartWith, PolicyConditions.COND_KEY, AliOss.dir);
        policyConds.addConditionItem(MatchMode.StartWith, PolicyConditions.COND_KEY, AliOssMange.dir);
        String postPolicy = builder.generatePostPolicy(expiration, policyConds);
        byte[] binaryData = postPolicy.getBytes(StandardCharsets.UTF_8);
        String encodedPolicy = BinaryUtil.toBase64String(binaryData);
        String postSignature = builder.calculatePostSignature(postPolicy);
        Map<String, String> respMap = new LinkedHashMap<>(6);
        respMap.put("accessid", AliOss.accessKeyId);
        respMap.put("accessid", AliOssMange.accessKeyId);
        respMap.put("policy", encodedPolicy);
        respMap.put("signature", postSignature);
        // 示例为dir
        respMap.put("dir", AliOss.dir);
        respMap.put("dir", AliOssMange.dir);
        // 前端为key
        // respMap.put("key", AliOss.dir);
        respMap.put("host", AliOss.host);
//        respMap.put("cdn", AliOss.cdn);
        // respMap.put("key", AliOssMange.dir);
        respMap.put("host", AliOssMange.host);
//        respMap.put("cdn", AliOssMange.cdn);
        respMap.put("expire", String.valueOf(expireEndTime / 1000));
//        // 回调
//        if (StringUtils.hasLength(AliOss.callbackUrl)) {
//        if (StringUtils.hasLength(AliOssMange.callbackUrl)) {
//            JSONObject jasonCallback = new JSONObject();
//            jasonCallback.put("callbackUrl", AliOss.callbackUrl);
//            jasonCallback.put("callbackUrl", AliOssMange.callbackUrl);
//            String callbackBody = "{\"filename\":${object},\"size\":${size},\"mimeType\":${mimeType}}";
//            jasonCallback.put("callbackBody", callbackBody);
//            jasonCallback.put("callbackBodyType", "application/json");
@@ -120,13 +120,13 @@
    public String strUpload(InputStream inputStream, String filename) throws IOException {
        //String filename = System.currentTimeMillis() + CodeGenerateUtils.generateVolumeSn()+".jpg";
        // Endpoint以杭州为例,其它Region请按实际情况填写。
        final String endpoint = AliOss.endpoint;
        final String endpoint = AliOssMange.endpoint;
        // 阿里云主账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM账号进行API访问或日常运维,请登录RAM控制台创建RAM账号。
        final String accessKeyId = AliOss.accessKeyId;
        final String accessKeySecret = AliOss.accessKeySecret;
        final String bucketName = AliOss.bucketName;
        final String accessKeyId = AliOssMange.accessKeyId;
        final String accessKeySecret = AliOssMange.accessKeySecret;
        final String bucketName = AliOssMange.bucketName;
        // <yourObjectName>上传文件到OSS时需要指定包含文件后缀在内的完整路径,例如abc/efg/123.jpg。
        String objectName = AliOss.dir + filename;
        String objectName = AliOssMange.dir + filename;
        log.info(objectName);
        // 创建OSSClient实例。
        OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
@@ -152,7 +152,7 @@
    @PostMapping(value = "/callback")
    public ApiResult callback(@RequestBody Map<String, Object> callback) {
        log.info("oss回调{}", callback);
        String filename = "http://".concat(AliOss.bucketName).concat(".").concat(AliOss.endpoint).concat("/").concat(callback.get("filename").toString());
        String filename = "http://".concat(AliOssMange.bucketName).concat(".").concat(AliOssMange.endpoint).concat("/").concat(callback.get("filename").toString());
        return ApiResult.okmsg(filename);
    }
manage/src/main/java/com/jilongda/manage/component/AliOssMange.java
@@ -10,35 +10,24 @@
    /**
     * 请填写您的AccessKeyId。LTAI5tPbJsVfBZZTPqPe8A2r
     */
    public static final String accessKeyId = "LTAI5tQZzqsZYX5gw8yRNchQ";
//    public static final String accessKeyId = "LTAI5tPbJsVfBZZTPqPe8A2r";
    public static final String accessKeyId = "LTAI5tL1dE1DzT4ZYdDQZ8k7";
    /**
     * 请填写您的AccessKeySecret。
     */
    public static final String accessKeySecret = "5yJVdXwRzwPZwKKXp07lRAc7tkTxQp";
//    public static final String accessKeySecret = "BvRc85RcX0bgrl9TMUOGHEMLUPlCr2";
    public static final String accessKeySecret = "4SZBtTyLhOoYRcfMS4SVAtGz8ZnxRP";
    /**
     * 请填写您的 endpoint。
     */
    public static final String endpoint = "oss-cn-hongkong.aliyuncs.com";
    public static final String endpoint = "oss-cn-shenzhen.aliyuncs.com";
    /**
     * 请填写您的 bucketname 。
     */
//    public static final String bucketName = "sales-bucket";
    public static final String bucketName = "bizuphk";
    /**
     * cdn
     */
//    public static final String cdn = "https://cdn.pharmacylinked.com";
//    public static final String cdn = "https://nncdn.pharmacylinked.com";
    public static final String bucketName = "yandu66";
    /**
     * host的格式为 bucketname.endpoint
     */
    public static final String host = "https://" + bucketName + "." + endpoint;
    public static final String host = "https://yandu66.oss-cn-shenzhen.aliyuncs.com";
    //     此处不需要回调
//     callbackUrl为上传回调服务器的URL,请将下面的IP和Port配置为您自己的真实信息。
    public static final String callbackUrl = "https://alwaystest.xisheninfo.com/api/ali-oss/callback";
    public static String dir = "hollywood/";
    public static String dir = "eyes/";
}
manage/src/main/resources/application.yml
@@ -13,8 +13,8 @@
      max-request-size: 500MB
      resolve-lazily: true #设置为懒加载,不然依然会捕获不到异常
  profiles:
    active: dev
  #    active: prod
#    active: dev
    active: prod
  main:
    allow-bean-definition-overriding: true
  #sagger文档属性配置