20190802 图片url处理
图片云存储地址头的处理:/*** 通用地址头处理*/@Autowiredprivate PropertiesConfiguration propertiesConfiguration;public void processImageUrl(){DoctorDto doctorDto = new DoctorDt...
·
图片云存储地址头的处理:
/**
* 通用地址头处理
*/
@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 + '\'' +
'}';
}
}
更多推荐
已为社区贡献6条内容
所有评论(0)