疯狂的狮子Li
2021-08-18 0375fd319c9f3b08d255c814cb0f8521d8ec641b
ruoyi-oss/src/main/java/com/ruoyi/oss/service/impl/AliyunCloudStorageStrategy.java
ÎļþÃû´Ó ruoyi-oss/src/main/java/com/ruoyi/oss/service/impl/AliyunCloudStorageServiceImpl.java ÐÞ¸Ä
@@ -1,6 +1,5 @@
package com.ruoyi.oss.service.impl;
import cn.hutool.core.util.StrUtil;
import com.aliyun.oss.ClientConfiguration;
import com.aliyun.oss.OSSClient;
import com.aliyun.oss.common.auth.DefaultCredentialProvider;
@@ -8,42 +7,32 @@
import com.aliyun.oss.model.CreateBucketRequest;
import com.aliyun.oss.model.ObjectMetadata;
import com.aliyun.oss.model.PutObjectRequest;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.oss.entity.UploadResult;
import com.ruoyi.oss.enumd.CloudServiceEnumd;
import com.ruoyi.oss.exception.OssException;
import com.ruoyi.oss.factory.OssFactory;
import com.ruoyi.oss.properties.CloudStorageProperties;
import com.ruoyi.oss.properties.CloudStorageProperties.AliyunProperties;
import com.ruoyi.oss.service.abstractd.AbstractCloudStorageService;
import org.springframework.beans.factory.InitializingBean;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service;
import com.ruoyi.oss.service.abstractd.AbstractCloudStorageStrategy;
import java.io.ByteArrayInputStream;
import java.io.InputStream;
/**
 * é˜¿é‡Œäº‘存储
 * é˜¿é‡Œäº‘存储策略
 *
 * @author Lion Li
 */
@Lazy
@Service
public class AliyunCloudStorageServiceImpl extends AbstractCloudStorageService implements InitializingBean {
public class AliyunCloudStorageStrategy extends AbstractCloudStorageStrategy {
   private final OSSClient client;
   private final AliyunProperties properties;
   @Autowired
   public AliyunCloudStorageServiceImpl(CloudStorageProperties properties) {
      this.properties = properties.getAliyun();
   public AliyunCloudStorageStrategy(CloudStorageProperties cloudStorageProperties) {
      properties = cloudStorageProperties;
      try {
         ClientConfiguration configuration = new ClientConfiguration();
         DefaultCredentialProvider credentialProvider = new DefaultCredentialProvider(
            this.properties.getAccessKeyId(),
            this.properties.getAccessKeySecret());
         client = new OSSClient(this.properties.getEndpoint(), credentialProvider, configuration);
            properties.getAccessKey(), properties.getSecretKey());
         client = new OSSClient(properties.getEndpoint(), credentialProvider, configuration);
         createBucket();
      } catch (Exception e) {
         throw new IllegalArgumentException("阿里云存储配置错误! è¯·æ£€æŸ¥ç³»ç»Ÿé…ç½®!");
@@ -108,17 +97,12 @@
   }
   @Override
   public void afterPropertiesSet() throws Exception {
      OssFactory.register(getServiceType(), this);
   }
   @Override
   public String getEndpointLink() {
      String endpoint = properties.getEndpoint();
      StringBuilder sb = new StringBuilder(endpoint);
      if (StrUtil.containsAnyIgnoreCase(endpoint, "http://")) {
      if (StringUtils.containsAnyIgnoreCase(endpoint, "http://")) {
         sb.insert(7, properties.getBucketName() + ".");
      } else if (StrUtil.containsAnyIgnoreCase(endpoint, "https://")) {
      } else if (StringUtils.containsAnyIgnoreCase(endpoint, "https://")) {
         sb.insert(8, properties.getBucketName() + ".");
      } else {
         throw new OssException("Endpoint配置错误");