首页 > 其他分享 >网络图片转base64

网络图片转base64

时间:2022-09-29 15:00:05浏览次数:57  
标签:return buffer base64 网络 outStream new inStream conn 图片

/**
         * 网络图片转base64
         * @param src
         * @return
         * @throws Exception
         */
        public static String getImageBase(String src) throws Exception {
     
            String s = "";
            //打开链接
            HttpURLConnection conn = null;
            try {
                //new一个URL对象
                URL url = new URL(src);
                conn = (HttpURLConnection) url.openConnection();
                //设置请求方式为"GET"
                conn.setRequestMethod("GET");
                //超时响应时间为5秒
                conn.setConnectTimeout(5 * 1000);
                //通过输入流获取图片数据
                InputStream inStream = conn.getInputStream();
                //得到图片的二进制数据,以二进制封装得到数据,具有通用性
                byte[] data = readInputStream(inStream);
                BASE64Encoder encode = new BASE64Encoder();
                return encode.encode(data).replaceAll("\\n", "");
            } catch (IOException e) {
                e.printStackTrace();
            }
            return s;
        }
        private static byte[] readInputStream(InputStream inStream) {
            try {
     
                ByteArrayOutputStream outStream = new ByteArrayOutputStream();
                //创建一个Buffer字符串, 这边buffer设置大一点就不会出现空的结尾现象
                byte[] buffer = new byte[1024 * 1024];
                //每次读取的字符串长度,如果为-1,代表全部读取完毕
                int len = 0;
                //使用一个输入流从buffer里把数据读取出来
                while ((len = inStream.read(buffer)) != -1) {
                    //用输出流往buffer里写入数据,中间参数代表从哪个位置开始读,len代表读取的长度
                    outStream.write(buffer, 0, len);
                }
                //关闭输入流
                inStream.close();
                //把outStream里的数据写入内存
                return outStream.toByteArray();
            } catch (Exception e) {
                e.printStackTrace();
            }
            return null;
        }

标签:return,buffer,base64,网络,outStream,new,inStream,conn,图片
From: https://www.cnblogs.com/0328dongbin/p/16741534.html

相关文章

  • 计算机网络--概述
    计算机网络概念:是一个将分散的、具有独立功能的计算机系统,通过通信设备与线路连接起来,由功能完善的软件实现资源共享和信息传递的系统。计算机网络是一个互连(互联互通)......
  • 防火墙基础之大型企业网络架构负载均衡和安全防护
    防火墙基础之大型企业网络架构负载均衡和安全防护原理概述:​防火墙(英语:Firewall)技术是通过有机结合各类用于安全管理与筛选的软件和硬件设备,帮助计算机网络于其内、外网之间......
  • 上传到Nginx的图片文件如何拥有可读的权限
    描述使用springmvc做了一个文件上传的功能,上传到nginx目录下的一个文件夹,但是通过目录访问的时候却报403的错误去服务器查看了一下文件的权限,发现没有可读权限,于是定位......
  • 3款大屏播放软件,用法很详细,用于大屏幕播放视频和图片
    要在展厅或户外的LED大屏幕上长时间循环播放视频或图片,就需要用到大屏播放软件,笔者整理几款好用的给大家。一、动屏大屏播放软件特点这款软件的特点是配置简单,界面美观,即插......
  • 网络安全就是金山银山,你的企业做到了吗?
    网络安全是一个高速迭代和进化的领域,任何一家公司都有必要对新兴安全技术始终保持敏感性。​如今越来越多的企业都把数据上云,似乎给人一种错觉:只要把数据上云,一切都安枕无忧......
  • base64格式在Html中的用法
     Base64是网络上最常见的用于传输8Bit字节码的编码方式之一,Base64就是一种基于64个可打印字符来表示二进制数据的方法。 图片data:image/gif;base64,base64编码的gi......
  • 常用网络诊断的命令收集
    常用网络诊断的命令收集>ipconfig 用于查看本机的ip,网关等信息IPConfig实用程序和它的等价图形用户界面——Windows95/98中的WinIPCfg可用于显示当前的TCP/IP配......
  • visual studio 2022 因网络问题无法下载的问题
    在使用visualstudioinstaller或者在visualstudio下载andriodsdk时,明明有网络却一直无法下载成功。造成此类原因是因为微软官网的网络屏蔽,需修改本机ipv4地址的d......
  • JDK8的base64编解码、图片转base64
    importjava.io.ByteArrayOutputStream;importjava.io.FileInputStream;importjava.io.InputStream;importjava.nio.charset.StandardCharsets;importjava.util.Base64......
  • vue 遍历图片渲染
    原文链接:https://blog.csdn.net/sywdebug/article/details/120763271举例说明获取目录下的文件名新创建一个vue项目,获取views目录下的以.vue结尾的文件的文件名mounted......