|
@@ -5,6 +5,7 @@ import cn.hutool.core.io.FileUtil;
|
|
|
import cn.hutool.core.io.IoUtil;
|
|
|
import cn.hutool.core.util.StrUtil;
|
|
|
import com.alibaba.fastjson2.JSON;
|
|
|
+import com.aliyun.oss.HttpMethod;
|
|
|
import com.amazonaws.services.s3.model.GetObjectRequest;
|
|
|
import com.amazonaws.services.s3.model.S3Object;
|
|
|
import com.amazonaws.services.s3.model.S3ObjectInputStream;
|
|
@@ -13,9 +14,12 @@ import com.fdkankan.filestorage.InnerUtils;
|
|
|
import com.fdkankan.filestorage.properties.MinioProperties;
|
|
|
|
|
|
import com.fdkankan.filestorage.FileStorageTemplate;
|
|
|
+import com.qcloud.cos.http.HttpMethodName;
|
|
|
import com.qcloud.cos.model.COSObject;
|
|
|
+import com.qcloud.cos.model.GeneratePresignedUrlRequest;
|
|
|
import io.minio.*;
|
|
|
import io.minio.errors.*;
|
|
|
+import io.minio.http.Method;
|
|
|
import io.minio.messages.Item;
|
|
|
import lombok.Getter;
|
|
|
import lombok.SneakyThrows;
|
|
@@ -27,8 +31,12 @@ import org.springframework.util.ObjectUtils;
|
|
|
|
|
|
import java.io.*;
|
|
|
import java.net.URI;
|
|
|
+import java.net.URL;
|
|
|
import java.nio.charset.StandardCharsets;
|
|
|
+import java.security.InvalidKeyException;
|
|
|
+import java.security.NoSuchAlgorithmException;
|
|
|
import java.util.*;
|
|
|
+import java.util.concurrent.TimeUnit;
|
|
|
|
|
|
/**
|
|
|
* 阿里云操作模版类, 简化常见操作
|
|
@@ -520,4 +528,24 @@ public class MinioTemplate implements FileStorageTemplate {
|
|
|
log.error("列举文件目录失败,key:" + sourcePath, e);
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public URL getPresignedUrl(String bucket, String key) {
|
|
|
+ GetPresignedObjectUrlArgs build = GetPresignedObjectUrlArgs.builder()
|
|
|
+ .method(Method.PUT)
|
|
|
+ .bucket(bucket)
|
|
|
+ .object(key)
|
|
|
+ .expiry(8, TimeUnit.HOURS) //过期时间
|
|
|
+ //.extraQueryParams(reqParams)
|
|
|
+ .build();
|
|
|
+ try {
|
|
|
+ return new URL(minioClient.getPresignedObjectUrl(build));
|
|
|
+ } catch (Exception e) {
|
|
|
+ throw new RuntimeException(e);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ @Override
|
|
|
+ public URL getPresignedUrl(String key) {
|
|
|
+ return getPresignedUrl(minioProperties.getBucket(), key);
|
|
|
+ }
|
|
|
}
|