SpringBoot OSS单文件上传方法

1.第一个依赖的工具类

	@Component
	public class AliyunCloudPriBucketUrlUtil {	
    //阿里云绑定的域名
    @Value("${oss.aliyun-domain}")
    private String aliyunDomain;
    //阿里云路径前缀
    @Value("${oss.aliyun-prefix}")
    private String aliyunPrefix;
    //阿里云EndPoint
    @Value("${oss.aliyun-end-point}")
    private String aliyunEndPoint;
    //阿里云AccessKeyId
    @Value("${oss.aliyun-access-key-id}")
    private String aliyunAccessKeyId;
    //阿里云AccessKeySecret
    @Value("${oss.aliyun-access-key-secret}")
    private String aliyunAccessKeySecret;
    //阿里云BucketName
    @Value("${oss.aliyun-bucket-name}")
    private String aliyunBucketName;
    //阿里云url签名过期时间
    @Value("${oss.expiration}")
    private Integer expiration;

    /**
     * 获取阿里云OSS私有BUCKET的外链(URL加签方式)
     */
    public String getUrlBySign(String fileUrl) {
        OSSClient ossClient = new OSSClient(aliyunEndPoint, aliyunAccessKeyId,
                aliyunAccessKeySecret);
        // 设置URL过期时间为1小时
        Date expirationDate = new Date(new Date().getTime() + expiration * 1000);
        String subStr = aliyunDomain + "/";
        String urlKey = fileUrl.substring(subStr.length());
        GeneratePresignedUrlRequest generatePresignedUrlRequest ;
        generatePresignedUrlRequest = new GeneratePresignedUrlRequest(aliyunBucketName, urlKey);
        generatePresignedUrlRequest.setExpiration(expirationDate);
        URL url = ossClient.generatePresignedUrl(generatePresignedUrlRequest);
        return url.toString();
    }
}

2.第二个依赖的工具类

@Component
public class OSSFactory {
    @Autowired
    private CloudStorageConfig config;

    public CloudStorageService build() {
        if (config.getType().equals(OSSConstant.TYPE_QINIU)) {
            return new QiniuCloudStorageService(config);
        } else if (config.getType().equals(OSSConstant.TYPE_ALIYUN)) {
            return new AliyunCloudStorageService(config);
        } else if (config.getType().equals(OSSConstant.TYPE_QCLOUD)) {
            return new QcloudCloudStorageService(config);
        }
        return null;
    }

}

3.第三个依赖的配置类

public class OSSConstant {
    //类型 1:七牛  2:阿里云  3:腾讯云
    public final static Intege
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值