阿里云OSS私有private生成访问临时访问路径


package com.shuyi.sxc.engine.util;

import com.aliyun.oss.OSSClient;
import com.aliyun.oss.model.GeneratePresignedUrlRequest;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;

import java.net.URL;
import java.util.Date;

/**
 * @Author : hyx
 * @CreateDate : 2022-04-02 00:41
 */
@Component
public class OssUtil {

    /**
     * 阿里云endpoint
     */
    @Value("${aliyun.oss.aliyunDomain}")
    private String aliyunDomain;

    /**
     *阿里云ak
     */
    @Value("${aliyun.oss.aliyunAccessKeyId}")
    private String aliyunAccessKeyId;

    /**
     *阿里云收款
     */
    @Value("${aliyun.oss.aliyunAccessKeySecret}")
    private String aliyunAccessKeySecret;

    /**
     *阿里云Bucket
     */
    @Value("${aliyun.oss.aliyunBucketName}")
    private String aliyunBucketName;


    /**
     * 私有文件生成临时访问路径
     * @param key 访问文件 实例(20220331/2f5837e548674a288f6ecdbb2f0012dc.jpg)
     * @return
     */
    public  String getUrl(String key){

        OSSClient ossClient = new OSSClient(aliyunDomain, aliyunAccessKeyId, aliyunAccessKeySecret);
        // 设置URL过期时间为1小时
        Date expiration = new Date(new Date().getTime() + 3600 * 1000);
        GeneratePresignedUrlRequest generatePresignedUrlRequest ;
        generatePresignedUrlRequest =new GeneratePresignedUrlRequest(aliyunBucketName, key);
        generatePresignedUrlRequest.setExpiration(expiration);
        URL url = ossClient.generatePresignedUrl(generatePresignedUrlRequest);
        return url.toString();
    }
}



版权声明:本文为weixin_44819877原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。