当前位置:首页 > JAVA > 正文内容

springboot中下载远程图片并转换为base64

高老师1年前 (2024-06-19)JAVA228

代码如下:

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);
        }
    }
}


扫描二维码推送至手机访问。

版权声明:本文由高久峰个人博客发布,如需转载请注明出处。

本文链接:https://blog.20230611.cn/post/782.html

分享给朋友:

“springboot中下载远程图片并转换为base64” 的相关文章

java Character 类,java判断字符是否是一个字母,java判断字符是否是一个数字,java判断字符是否是一个空白,java判断字符是否是小写字母,java判断字符是否是大写字母,java转换字符为大写,java转换字符为小写

java Character 类,java判断字符是否是一个字母,java判断字符是否是一个数字,java判断字符是否是一个空白,java判断字符是否是小写字母,java判断字符是否是大写字母,java转换字符为大写,java转换字符为小写

java判断字符是否是一个字母System.out.println(Character.isLetter('a'));java判断字符是否是一个数字System.out.println(Character.isDigit('0'));java判断字符是否是一个空白Sy...

java获取时间戳,java时间戳获取

java获取时间戳,java时间戳获取

System.out.println("当前时间戳(秒): " + System.currentTimeMillis()/1000); System.out.println("当前时间戳(毫秒): " +&nb...

java正则表达式判断字符串是否包含,java判断字符串是否包含

java正则表达式判断字符串是否包含,java判断字符串是否包含

pattern表示正则表达式,接收正则表达式作为参数例子:String content = "my name is gaojiufeng"; String pattern = "....

java正则表达式捕获组

java正则表达式捕获组

java正则表达式的捕获组捕获组可以将匹配到的结果根据正则中的括号进行分组,这里变量我加了$符,php转java的坏习惯,懒得改了,能跑就行// 匹配字符串 String $line = "gaojiufeng 1994! ok?...

java匹配一个字符串在另外一个字符串中出现的次数,java正则start,java正则end

java匹配一个字符串在另外一个字符串中出现的次数,java正则start,java正则end

java匹配一个字符串在另外一个字符串中出现的次数,java正则start,java正则end// 正则 String pattern = "\\bgao\\b"; // 字符串 String content ...

java命令行传参,java从命令行接收参数

java命令行传参,java从命令行接收参数

java命令行传参,java从命令行接收参数public static void main(String[] args) {     for (int i = 0;&nb...