文件转base64

以下实现方式仅针对网络图片/文件,在线图片请移步其他大佬博客。

代码如下:

/**
    * 方法描述:将网络图片转化成base64
    *
    *@author hcj
    *@date 2021/4/23
    *@param imgURL 绝对路径
    *@return
    */
    public static String fileToBase64ByOnline(String imgURL) {
        ByteArrayOutputStream data = new ByteArrayOutputStream();
        try {
            // 创建URL
            URL url = new URL(imgURL);
            byte[] by = new byte[1024];
            // 创建链接
            HttpURLConnection conn = (HttpURLConnection) url.openConnection();
            conn.setRequestMethod("GET");
            conn.setConnectTimeout(5000);
            InputStream is = conn.getInputStream();
            // 将内容读取内存中
            int len = -1;
            while ((len = is.read(by)) != -1) {
                data.write(by, 0, len);
            }
            // 关闭流
            is.close();
        } catch (IOException e) {
            e.printStackTrace();
            return null;
        }
        //base64图片前缀
        String perfix = "data:image/"+imgURL.substring(imgURL.lastIndexOf(".")+1)+";base64,";
        //注意:base64一行超过76个字符就自动添加回车换行符的问题
        return perfix+Base64.encodeBase64String(data.toByteArray());
    }

如有不正确的地方,希望大家多多指正,谢谢!

posted @ 2021-06-04 15:41  一只黄焖鸡  阅读(465)  评论(0)    收藏  举报