20190802 图片url处理

本文介绍了一种在Java中处理图片云存储URL的方法,通过将基地址配置在properties文件中实现动态可配置,利用BaseDto类封装通用拼接逻辑,DoctorDto类继承BaseDto并在getImageUrl方法中调用父类的getUrl方法来处理图片地址。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

图片云存储地址头的处理:

    /**
     * 通用地址头处理
     */
    @Autowired
    private PropertiesConfiguration propertiesConfiguration;

    public void processImageUrl(){
        DoctorDto doctorDto = new DoctorDto();
        //仅仅是把父地址传递进去,不需要这样处理。
        doctorDto.setUrlHead(propertiesConfiguration.getOssFileUrl(), propertiesConfiguration.getSevenNiuFileUrl());
        //思路:
        //1)把地址配置到properties中,动态可配置,
        //2)通过value给变量赋值并进行实例化,
        //3)调用方法处理图片地址头。  每次后端返回前端url都会这样处理。
        //4)BaseDto里面封装了通用的拼接逻辑,供子dto调用。

        //1)不一定要这样用,BaseDto里面获取父地址,并提供拼接方法,
        //2)json序列化的时候会调用get
        // 方法,get方法调用弄给父类中的方法拼接数据

    }

BaseDto

public abstract class BaseDto {
    //图片存储oss
    private String ossPrefixUrl;
    //图片存储七牛
    private String sevenPrefixUrl;

    /**
     * 把基地址传递进来
     *
     * @param ossPrefixUrl
     * @param sevenPrefixUrl
     */
    public void setUrlHead(String ossPrefixUrl, String sevenPrefixUrl) {
        this.ossPrefixUrl = ossPrefixUrl;
        this.sevenPrefixUrl = sevenPrefixUrl;
    }

    /**
     * 如何拼接处理url?
     * 公共的内容在父类中处理
     *
     * @param url
     * @return
     */
    public String getUrl(String url) {
        if (StringUtils.isEmpty(url)) {
            return "";
        } else if (url.startsWith("/qiniu/")) {
            return this.sevenPrefixUrl == null ? url : this.sevenPrefixUrl + url;
        } else {
            return this.ossPrefixUrl == null ? url : this.ossPrefixUrl + url;
        }
    }

}

DoctorDto:super.getUrl(imageUrl)

public class DoctorDto extends BaseDto {

    //用户头像
    private String imageUrl;

    public String getImageUrl() {
        //todo:在这里处理图片地址
        return super.getUrl(imageUrl);
    }

    public void setImageUrl(String imageUrl) {
        this.imageUrl = imageUrl;
    }

    @Override
    public String toString() {
        return "DoctorDto{" +
                "imageUrl='" + imageUrl + '\'' +
                '}';
    }
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值