From 06f59ebb282ab74565585f77dde772d228d6075a Mon Sep 17 00:00:00 2001 From: mitao <2763622819@qq.com> Date: 星期二, 18 六月 2024 14:13:10 +0800 Subject: [PATCH] 修改bug --- ruoyi-modules/ruoyi-file/src/main/java/com/ruoyi/file/utils/StateCloudObsUtil.java | 40 ++++++++++++++++++++++++++++++++++++---- 1 files changed, 36 insertions(+), 4 deletions(-) diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/util/StateCloudObsUtil.java b/ruoyi-modules/ruoyi-file/src/main/java/com/ruoyi/file/utils/StateCloudObsUtil.java similarity index 62% rename from ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/util/StateCloudObsUtil.java rename to ruoyi-modules/ruoyi-file/src/main/java/com/ruoyi/file/utils/StateCloudObsUtil.java index 84a99b5..cf1bb7e 100644 --- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/util/StateCloudObsUtil.java +++ b/ruoyi-modules/ruoyi-file/src/main/java/com/ruoyi/file/utils/StateCloudObsUtil.java @@ -1,4 +1,4 @@ -package com.ruoyi.system.api.util; +package com.ruoyi.file.utils; import com.amazonaws.ClientConfiguration; import com.amazonaws.Protocol; @@ -29,7 +29,8 @@ public static String END_POINT = "obs.cn-sccd1.ctyun.cn"; public static String BUCKET = "jyzx-obs"; public static String DOMAIN = "https://" + BUCKET + "." + END_POINT + "/"; - + public static AWSCredentials credentials = new BasicAWSCredentials(ACCESS_KEY, + SECRET_KEY); public static String uploadFile(MultipartFile file) { String originalFilename = file.getOriginalFilename(); @@ -42,8 +43,6 @@ String fileName; AmazonS3 s3client = null; try { - AWSCredentials credentials = new BasicAWSCredentials(ACCESS_KEY, - SECRET_KEY); ClientConfiguration awsClientConfig = new ClientConfiguration(); awsClientConfig.setSignerOverride("AWSS3V4SignerType"); awsClientConfig.setProtocol(Protocol.HTTP); @@ -73,4 +72,37 @@ } return null; } + + public static String obsUploadStream(String code, InputStream content) throws IOException { + String fileName = ""; + ObjectMetadata objectMetadata = new ObjectMetadata();// 创建上传Object的Metadata + fileName = "qrCode/" + UUID.randomUUID().toString().replaceAll("-", "") + "-id" + code + + ".png"; + AmazonS3 s3client = null; + try { + ClientConfiguration awsClientConfig = new ClientConfiguration(); + awsClientConfig.setSignerOverride("AWSS3V4SignerType"); + awsClientConfig.setProtocol(Protocol.HTTP); + s3client = AmazonS3ClientBuilder.standard() + .withCredentials(new AWSStaticCredentialsProvider(credentials)) + .withClientConfiguration(awsClientConfig) + .withEndpointConfiguration(new EndpointConfiguration(END_POINT, "")) + .disableChunkedEncoding() + .enablePathStyleAccess() + .build(); + System.out.print("=====connect success=====\n"); + // 上传 object + PutObjectRequest request = new PutObjectRequest(BUCKET, fileName, content, + objectMetadata); + PutObjectResult result = s3client.putObject(request); + System.out.format("Etag: %s, versionId: %s\n", result.getETag(), + result.getVersionId()); + System.out.print("=====request success=====\n"); + return DOMAIN + fileName; + } catch (Exception e) { + System.out.print("=====request fail=====\n"); + System.out.print(e.getMessage()); + } + return fileName; + } } -- Gitblit v1.7.1