疯狂的狮子li
2022-02-18 bb793d71e7bb47e8a036dba4d07b132cecc24c81
ruoyi-oss/src/main/java/com/ruoyi/oss/service/impl/AliyunOssStrategy.java
@@ -3,16 +3,19 @@
import com.aliyun.oss.ClientConfiguration;
import com.aliyun.oss.OSSClient;
import com.aliyun.oss.common.auth.DefaultCredentialProvider;
import com.aliyun.oss.common.comm.Protocol;
import com.aliyun.oss.model.CannedAccessControlList;
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.constant.OssConstant;
import com.ruoyi.oss.entity.UploadResult;
import com.ruoyi.oss.enumd.OssEnumd;
import com.ruoyi.oss.exception.OssException;
import com.ruoyi.oss.properties.OssProperties;
import com.ruoyi.oss.service.abstractd.AbstractOssStrategy;
import org.springframework.stereotype.Component;
import java.io.ByteArrayInputStream;
import java.io.InputStream;
@@ -22,15 +25,19 @@
 *
 * @author Lion Li
 */
@Component
public class AliyunOssStrategy extends AbstractOssStrategy {
    private OSSClient client;
    @Override
    public void init(OssProperties cloudStorageProperties) {
        properties = cloudStorageProperties;
    public void init(OssProperties ossProperties) {
        super.init(ossProperties);
        try {
            ClientConfiguration configuration = new ClientConfiguration();
            if (OssConstant.IS_HTTPS.equals(ossProperties.getIsHttps())) {
                configuration.setProtocol(Protocol.HTTPS);
            }
            DefaultCredentialProvider credentialProvider = new DefaultCredentialProvider(
                properties.getAccessKey(), properties.getSecretKey());
            client = new OSSClient(properties.getEndpoint(), credentialProvider, configuration);
@@ -38,6 +45,7 @@
        } catch (Exception e) {
            throw new OssException("阿里云存储配置错误! 请检查系统配置:[" + e.getMessage() + "]");
        }
        isInit = true;
    }
    @Override
@@ -56,8 +64,8 @@
    }
    @Override
    public String getServiceType() {
        return OssEnumd.ALIYUN.getValue();
    public OssEnumd getServiceType() {
        return OssEnumd.ALIYUN;
    }
    @Override
@@ -74,12 +82,11 @@
        } catch (Exception e) {
            throw new OssException("上传文件失败,请检查阿里云配置信息:[" + e.getMessage() + "]");
        }
        return new UploadResult().setUrl(getEndpointLink() + "/" + path).setFilename(path);
    }
        return UploadResult.builder().url(getEndpointLink() + "/" + path).filename(path).build();    }
    @Override
    public void delete(String path) {
        path = path.replace(getEndpointLink() + "/" , "");
        path = path.replace(getEndpointLink() + "/", "");
        try {
            client.deleteObject(properties.getBucketName(), path);
        } catch (Exception e) {