JAVA-OSS内网外网转换工具类

oss路径是一个比较敏感的url路径,有的时候需要用内网、有的时候需要外网,有的时候需要/有的时候不需要/,这个工具类就是帮忙干这事儿的。

public class OSSUrlUtil {

    public static final String[] OSS_DOMAINS = new String[]{
        "https://biz.s3.url.com/",
        "http://biz.s3.url.com/",
        "https://biz.s3-internal.url.com/",
        "http://biz.s3-internal.url.com/",
        "http://s3.url.com/biz/",
        "https://s3.url.com/biz/",
        "http://s3-internal.url.com/biz/",
        "https://s3-internal.url.com/biz/"
    };

    /**
     * 去除掉oss的域名前缀
     * @param url
     * @return
     */
    public static String delOssDomainAndSign(String url) {
        if (StringUtils.isBlank(url)) {
            return null;
        }
        for (String domain: SystemConstant.OSS_DOMAINS) {
            url = url.replace(domain, "");
        }
        return StringUtils.substringBefore(url, SymbolConstant.QUESTION);
    }


    /**
     * 获取完整的oss的url访问路径 外网
     * @param url
     * @return
     */
    public static String getOuterOssDomainUrl(String url) {
        if (StringUtils.isBlank(url)) {
            return null;
        }
        for (String domain: SystemConstant.OSS_DOMAINS) {
            url = url.replace(domain, "");
        }
        return SystemConstant.OSS_OUTER_PATH_HTTPS + url;
    }

    /**
     * 获取完整的oss的url访问路径 内网
     * @param url
     * @return
     */
    public static String getInternalOssDomainUrl(String url) {
        if (StringUtils.isBlank(url)) {
            return null;
        }
        for (String domain: SystemConstant.OSS_DOMAINS) {
            url = url.replace(domain, "");
        }
        return SystemConstant.OSS_INTERNAL_PATH_HTTPS + url;
    }

    /**
     * 判断是否是OSS路径
     * @param url
     * @return
     */
    public static boolean isOssDomain(String url) {
        if (StringUtils.isBlank(url)) {
            return false;
        }
        for (String domain: SystemConstant.OSS_DOMAINS) {
            if (url.contains(domain)) {
                return true;
            }
        }
        return false;
    }
}

猜你喜欢

转载自blog.csdn.net/caryeko/article/details/141323278