Переглянути джерело

完善oss文件操作逻辑

tianboguang 3 роки тому
батько
коміт
df29c1919f

+ 31 - 0
4dkankan-utils-fyun-oss/src/main/java/com/fdkankan/fyun/oss/config/OssConfig.java

@@ -0,0 +1,31 @@
+package com.fdkankan.fyun.oss.config;
+
+import com.aliyun.oss.OSS;
+import com.aliyun.oss.OSSClientBuilder;
+import com.fdkankan.fyun.config.FYunFileConfig;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.beans.factory.config.ConfigurableBeanFactory;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Scope;
+import org.springframework.stereotype.Component;
+
+@Component
+public class OssConfig {
+
+    @Value("${fyun.oss.endPoint}")
+    private String point;
+
+    @Autowired
+    private FYunFileConfig fYunFileConfig;
+
+    /**
+     * 配置多实例,且使用时候要手动shutdown,否则会造成内存溢出
+     * @return
+     */
+    @Bean
+    @Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE)
+    public OSS ossClient(){
+        return new OSSClientBuilder().build(point, fYunFileConfig.getKey(), fYunFileConfig.getSecret());
+    }
+}

+ 10 - 0
4dkankan-utils-fyun-oss/src/main/java/com/fdkankan/fyun/oss/constant/OssConstants.java

@@ -0,0 +1,10 @@
+package com.fdkankan.fyun.oss.constant;
+
+public class OssConstants {
+    /**
+     * oss文件上传命令
+     * 第一个参数是oss路径,要包含bucket名称
+     * 第二个参数是本地文件路径
+     */
+    public static final String UPLOAD_SH = "bash /opt/ossutil/upload.sh %s %s";
+}

+ 29 - 0
4dkankan-utils-fyun-parent/src/main/java/com/fdkankan/fyun/config/FYunFileConfig.java

@@ -0,0 +1,29 @@
+package com.fdkankan.fyun.config;
+
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.stereotype.Component;
+
+@Component
+public class FYunFileConfig {
+
+    @Value("${fyun.key}")
+    private String key;
+
+    @Value("${fyun.secret}")
+    private String secret;
+
+    @Value("${fyun.bucket}")
+    private String bucket;
+
+    public String getKey() {
+        return key;
+    }
+
+    public String getSecret() {
+        return secret;
+    }
+
+    public String getBucket() {
+        return bucket;
+    }
+}