From f6722e13ba28cd292c162df9292bb3418ba12bec Mon Sep 17 00:00:00 2001 From: k94314517 <8417338+k94314517@user.noreply.gitee.com> Date: 星期三, 25 六月 2025 15:17:50 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/2.0.1' into 2.0.1 --- server/service/src/main/java/com/doumee/core/utils/aliyun/ALiYunUtil.java | 98 +++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 86 insertions(+), 12 deletions(-) diff --git a/server/service/src/main/java/com/doumee/core/utils/aliyun/ALiYunUtil.java b/server/service/src/main/java/com/doumee/core/utils/aliyun/ALiYunUtil.java index dfd461c..400a43c 100644 --- a/server/service/src/main/java/com/doumee/core/utils/aliyun/ALiYunUtil.java +++ b/server/service/src/main/java/com/doumee/core/utils/aliyun/ALiYunUtil.java @@ -1,9 +1,17 @@ package com.doumee.core.utils.aliyun; +import com.aliyun.auth.credentials.Credential; +import com.aliyun.auth.credentials.provider.StaticCredentialProvider; import com.aliyun.oss.ClientException; import com.aliyun.oss.OSSClient; import com.aliyun.oss.OSSException; +import com.aliyun.oss.event.ProgressEvent; +import com.aliyun.oss.event.ProgressEventType; +import com.aliyun.oss.event.ProgressListener; import com.aliyun.oss.model.*; +import com.aliyun.sdk.service.cloudauth20190307.AsyncClient; +import com.aliyun.sdk.service.cloudauth20190307.models.Id2MetaVerifyRequest; +import com.aliyun.sdk.service.cloudauth20190307.models.Id2MetaVerifyResponse; import com.doumee.core.utils.FileDigest; import java.io.File; import java.io.FileInputStream; @@ -12,8 +20,13 @@ import java.io.InputStream; import java.net.URL; import java.util.ArrayList; +import java.util.Date; import java.util.List; import java.util.Map; +import java.util.concurrent.CompletableFuture; + +import com.google.gson.Gson; +import darabonba.core.client.ClientOverrideConfiguration; import org.apache.commons.lang3.StringUtils; import org.springframework.web.multipart.MultipartFile; @@ -435,17 +448,17 @@ return filename; } - public static void main(String[] args) throws OSSException, - ClientException, IOException { - ALiYunUtil aLiYunUtil = new ALiYunUtil("", "uc4nnpsqep1i9fijqr37nokh", - "/rp41xCx/XdGEVCptdH6v7xpc9w="); - // aLiYunUtil.uploadObject("pongto", "work/li2.txt", "D://鍝�.txt", - // ".html,.html text/html");D://瑁呮満杞欢/鍔炲叕瀛︿範 - // aLiYunUtil.partUploadObject("pongto", "work/ps.exe", - // "D://瑁呮満杞欢/鍔炲叕瀛︿範/Adobe_Illustrator_CS6_XiaZaiBa.exe", - // ".html,.html text/html"); - // aLiYunUtil.deleteBucket("pongto"); - } +// public static void main(String[] args) throws OSSException, +// ClientException, IOException { +// ALiYunUtil aLiYunUtil = new ALiYunUtil("", "uc4nnpsqep1i9fijqr37nokh", +// "/rp41xCx/XdGEVCptdH6v7xpc9w="); +// // aLiYunUtil.uploadObject("pongto", "work/li2.txt", "D://鍝�.txt", +// // ".html,.html text/html");D://瑁呮満杞欢/鍔炲叕瀛︿範 +// // aLiYunUtil.partUploadObject("pongto", "work/ps.exe", +// // "D://瑁呮満杞欢/鍔炲叕瀛︿範/Adobe_Illustrator_CS6_XiaZaiBa.exe", +// // ".html,.html text/html"); +// // aLiYunUtil.deleteBucket("pongto"); +// } /** * 涓婁紶缃戠粶鏂囦欢 @@ -511,7 +524,7 @@ } - public boolean uploadOnlineObject(InputStream inputStream, String bucketName, String key, + public boolean uploadOnlineObjectNew(InputStream inputStream, String bucketName, String key, String mime) throws OSSException, ClientException, IOException { if (inputStream != null) { // 鍒ゆ柇鏄惁瀛樺湪锛屼笉瀛樺湪鍒涘缓 @@ -555,6 +568,67 @@ return false; } + public static ProgressModel queryProgressModel(String id){ + return PutObjectProgressListenerBiz.queryProgressModel(id); + } + public boolean uploadOnlineObject(InputStream inputStream, String bucketName, String key,String tempId, + String mime) throws OSSException, ClientException, IOException { + try { + isExistBucket(bucketName); + ObjectMetadata objectMeta = new ObjectMetadata(); + objectMeta.setContentLength(inputStream.available()); + // 鍙互鍦╩etadata涓爣璁版枃浠剁被鍨� + if (StringUtils.isNotBlank(mime)) { + objectMeta.setContentType(mime); + } + PutObjectRequest putObjectRequest = null; + if(StringUtils.isNotBlank(tempId)){ + ProgressModel pmodel = new ProgressModel(); + pmodel.setKey(key); + pmodel.setId(tempId); + pmodel.setStartDate(new Date()); + putObjectRequest = new PutObjectRequest(bucketName, key, + inputStream).withProgressListener(new PutObjectProgressListenerBiz(pmodel)); + }else{ + putObjectRequest = new PutObjectRequest(bucketName, key, + inputStream); + } + PutObjectResult putObjectResult = client.putObject(putObjectRequest); + + // 涓嬭浇鏂囦欢鐨勫悓鏃舵寚瀹氳繘搴︽潯鍙傛暟銆傛澶凣etObjectProgressListenerDemo涓鸿皟鐢ㄧ被鐨勭被鍚嶏紝璇峰湪瀹為檯浣跨敤鏃舵浛鎹负鐩稿簲鐨勭被鍚嶃�� +// ossClient.getObject(new GetObjectRequest(bucketName,objectName). +// <GetObjectRequest>withProgressListener(new GetObjectProgressListenerDemo())); + + } catch (OSSException oe) { + System.out.println("Caught an OSSException, which means your request made it to OSS, " + + "but was rejected with an error response for some reason."); + System.out.println("Error Message:" + oe.getErrorMessage()); + System.out.println("Error Code:" + oe.getErrorCode()); + System.out.println("Request ID:" + oe.getRequestId()); + System.out.println("Host ID:" + oe.getHostId()); + } catch (ClientException ce) { + System.out.println("Caught an ClientException, which means the client encountered " + + "a serious internal problem while trying to communicate with OSS, " + + "such as not being able to access the network."); + System.out.println("Error Message:" + ce.getMessage()); + } finally { + if (inputStream != null) { + // 鍒ゆ柇鏄惁瀛樺湪锛屼笉瀛樺湪鍒涘缓 + inputStream.close(); + } + if (client != null) { + client.shutdown(); + } + } + + + return false; + + } + + + + } -- Gitblit v1.9.3