代码如下:
package com.x3.gls.util;
import com.x3.base.core.exception.BusinessException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Component;
import org.springframework.web.client.RestTemplate;
import java.util.Base64;
/**
* 图片远程下载
*/
@Component
public class RemoteImageUtil {
/**
* 日志
*/
private static final Logger log = LoggerFactory.getLogger(HttpPostUtil.class);
/**
* 图片远程下载并转换为Base64
*
* @param imageUrl
* @return
*/
public static String convertImageUrlToBase64(String imageUrl) {
RestTemplate restTemplate = new RestTemplate();
try {
ResponseEntity<byte[]> responseEntity = restTemplate.getForEntity(imageUrl, byte[].class);
byte[] imageBytes = responseEntity.getBody();
if (imageBytes != null) {
return Base64.getEncoder().encodeToString(imageBytes);
} else {
return null;
}
} catch (Exception e) {
log.debug("RemoteImageUtil-convertImageUrlToBase64-01-异常响应数据:{}", e.getMessage());
throw new BusinessException("RemoteImageUtil-convertImageUrlToBase64-02",
"下载文件[" + imageUrl + "]出错:" + e.getMessage(), imageUrl);
}
}
}(1).final 修饰符通常和 static 修饰符一起使用来创建类常量。(2).父类中的 final 方法可以被子类继承,但是不能被子类重写,声明 final 方法的主要目的是防止该方法的内容被修改。public class Member {  ...
Java5 引入了一种主要用于数组的增强型 for 循环,类似js中的for inpublic class Member { public static void main(String[]&...
java判断字符是否是一个字母System.out.println(Character.isLetter('a'));java判断字符是否是一个数字System.out.println(Character.isDigit('0'));java判断字符是否是一个空白Sy...
java stringBuffer(1).stringBuffer和stringBuilder区别stringBuffer是线程安全的,stringBuilder速度更快(2).简单的stringBuffer例子StringBuffer sBuffer = new&nb...
(1).创建数组double[] myList = new double[size]; //推荐创建方式 double myList[] = new double[size];  ...
java正则表达式的捕获组捕获组可以将匹配到的结果根据正则中的括号进行分组,这里变量我加了$符,php转java的坏习惯,懒得改了,能跑就行// 匹配字符串 String $line = "gaojiufeng 1994! ok?...