From ee8b99a512bac9de3c88ad19b2c674c3d8c7655f Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期三, 25 六月 2025 10:29:44 +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