فهرست منبع

Merge remote-tracking branch 'origin/feature-v4-20220801' into feature-v4-20220801

dengsixing 2 سال پیش
والد
کامیت
1e59e3fe04

+ 13 - 1
4dkankan-utils-fyun-oss/src/main/java/com/fdkankan/fyun/oss/OssFileService.java

@@ -1,8 +1,8 @@
 package com.fdkankan.fyun.oss;
 
+import com.aliyun.oss.HttpMethod;
 import com.aliyun.oss.OSS;
 import com.aliyun.oss.model.*;
-import com.fdkankan.fyun.constant.FYunConstants;
 import com.fdkankan.fyun.constant.FYunTypeEnum;
 import com.fdkankan.fyun.face.AbstractFYunFileService;
 import org.slf4j.Logger;
@@ -14,6 +14,7 @@ import org.springframework.util.CollectionUtils;
 import org.springframework.util.ObjectUtils;
 
 import java.io.*;
+import java.net.URL;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
@@ -270,5 +271,16 @@ public class OssFileService extends AbstractFYunFileService {
         }
     }
 
+    @Override
+    public URL getPresignedUrl(String bucket, String url) {
+        java.util.Date expiration = new java.util.Date();
+        long expTimeMillis = expiration.getTime();
+        expTimeMillis += 1000 * 60 * 60 * 8;
+        expiration.setTime(expTimeMillis);
+        GeneratePresignedUrlRequest generatePresignedUrlRequest = new GeneratePresignedUrlRequest(bucket, url);
+        generatePresignedUrlRequest.setMethod(HttpMethod.PUT);
+        generatePresignedUrlRequest.setExpiration(expiration);
+        return ossClient.generatePresignedUrl(generatePresignedUrlRequest);
+    }
 
 }

+ 6 - 0
4dkankan-utils-fyun-parent/src/main/java/com/fdkankan/fyun/face/AbstractFYunFileService.java

@@ -10,6 +10,7 @@ import org.springframework.stereotype.Component;
 
 import java.io.IOException;
 import java.io.InputStream;
+import java.net.URL;
 import java.util.List;
 import java.util.Map;
 
@@ -129,4 +130,9 @@ public abstract class AbstractFYunFileService implements FYunFileServiceInterfac
             e.printStackTrace();
         }
     }
+
+    @Override
+    public URL getPresignedUrl(String url) {
+        return getPresignedUrl(fYunFileConfig.getBucket(), url);
+    }
 }

+ 5 - 0
4dkankan-utils-fyun-parent/src/main/java/com/fdkankan/fyun/face/FYunFileServiceInterface.java

@@ -4,6 +4,7 @@ import org.springframework.stereotype.Component;
 
 import java.io.IOException;
 import java.io.InputStream;
+import java.net.URL;
 import java.util.List;
 import java.util.Map;
 
@@ -319,4 +320,8 @@ public interface FYunFileServiceInterface {
      * @
      */
     public void downloadFile(String remoteFilePath, String localPath) ;
+
+    public URL getPresignedUrl(String url);
+
+    public URL getPresignedUrl(String bucket,String url);
 }

+ 13 - 1
4dkankan-utils-fyun-s3/src/main/java/com/fdkankan/fyun/s3/S3FileService.java

@@ -1,9 +1,9 @@
 package com.fdkankan.fyun.s3;
 
 import cn.hutool.core.collection.CollUtil;
+import com.amazonaws.HttpMethod;
 import com.amazonaws.services.s3.AmazonS3;
 import com.amazonaws.services.s3.model.*;
-import com.fdkankan.fyun.constant.FYunConstants;
 import com.fdkankan.fyun.constant.FYunTypeEnum;
 import com.fdkankan.fyun.face.AbstractFYunFileService;
 import org.apache.commons.lang3.StringUtils;
@@ -15,6 +15,7 @@ import org.springframework.stereotype.Component;
 import org.springframework.util.ObjectUtils;
 
 import java.io.*;
+import java.net.URL;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
@@ -289,4 +290,15 @@ public class S3FileService extends AbstractFYunFileService {
             throwable.printStackTrace();
         }
     }
+
+    @Override
+    public URL getPresignedUrl(String bucket,String url) {
+        java.util.Date expiration = new java.util.Date();
+        long expTimeMillis = expiration.getTime();
+        expTimeMillis += 1000 * 60 * 60 * 8;
+        expiration.setTime(expTimeMillis);
+        GeneratePresignedUrlRequest generatePresignedUrlRequest = new GeneratePresignedUrlRequest(bucket, url)
+                .withMethod(HttpMethod.PUT).withExpiration(expiration);
+        return s3.generatePresignedUrl(generatePresignedUrlRequest);
+    }
 }