Java将网络图片转成输入流以及将url转成InputStream问题

 更新时间:2023年01月11日 10:33:35   作者:苍穹之跃  
这篇文章主要介绍了Java将网络图片转成输入流以及将url转成InputStream问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

将网络图片转成输入流以及将url转成InputStream

private static InputStream getImageStream(String url) {
        try {
            HttpURLConnection connection = (HttpURLConnection) new URL(url).openConnection();
            connection.setReadTimeout(5000);
            connection.setConnectTimeout(5000);
            connection.setRequestMethod("GET");
            if (connection.getResponseCode() == HttpURLConnection.HTTP_OK) {
                InputStream inputStream = connection.getInputStream();
                return inputStream;
            }
        } catch (IOException e) {
            log.info("获取网络图片出现异常,图片路径为:" + url);
            e.printStackTrace();
        }
        return null;
    }

Java将图片转成Base64

在日常的开发中,图片展示是一个经常见的开发任务,而图片展示也有好多种方式。

但也有一种是通过转成Base64编码来完成。

下面就是通过流转成Base64编码的主要代码。

try (InputStream in = null;
     ByteArrayOutputStream out = new ByteArrayOutputStream()) {
            //建一个空的字节数组
            byte[] result = null;
              in=.........(获取你的图片的输入流)
            byte[] buf = new byte[1024];
            //用来定义一个准备接收图片总长度的局部变量
            int len;
            //将流的内容读取到buf内存中
            while ((len = in.read(buf)) > 0) {
                //将buf内存中的内容从0开始到总长度输出出去
                out.write(buf, 0, len);
            }
            //将out中的流内容拷贝到一开始定义的字节数组中
            result = out.toByteArray();
            //通过util包中的Base64类对字节数组进行base64编码
            String base64 = Base64.getEncoder().encodeToString(result);
        } catch (Exception e) {
            e.printStackTrace();
        }

以上就是Java转成Base64的主要逻辑代码,剩下的就是将这段逻辑套入到你自己的代码里面。

注:如果需要返回到前端展示则需要加上一个前缀:

String code = "data:Image/" + "你的图片格式(例如:JPG/PNG)等等" + ";base64," + base64;

如果前端需要展示图片,就将code返回给前端。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • java中Scanner类的简单用法分享

    java中Scanner类的简单用法分享

    这篇文章主要介绍了java中Scanner类的简单用法,有需要的朋友可以参考一下
    2014-01-01
  • SpringCloud客户端报错:- was unable to send heartbeat!的解决

    SpringCloud客户端报错:- was unable to send&nb

    这篇文章主要介绍了SpringCloud客户端报错:- was unable to send heartbeat!的问题及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-05-05
  • web.xml详解_动力节点Java学院整理

    web.xml详解_动力节点Java学院整理

    这篇文章给大家详细介绍了web.xml的相关知识,需要的朋友可以参考下
    2017-07-07
  • 教你代码中获取当前 JAR 包的存放位置

    教你代码中获取当前 JAR 包的存放位置

    这篇文章主要介绍了如何获取当前JAR包的存放位置,要获取当前运行的 JAR 包所存放的位置,可以使用 ProtectionDomain 和 CodeSource 类,本文结合实例代码给大家介绍的非常详细,需要的朋友可以参考下
    2023-08-08
  • 使用jdk7的nio2操作文件拷贝和剪切示例

    使用jdk7的nio2操作文件拷贝和剪切示例

    使用jdk7的NIO2进行文件或文件夹的拷贝移动操作。可以自动创建路径,差异化更新文件,简单的出错重连机制
    2014-01-01
  • Java中线程上下文类加载器超详细讲解使用

    Java中线程上下文类加载器超详细讲解使用

    这篇文章主要介绍了Java中线程上下文类加载器,类加载器负责读取Java字节代码,并转换成java.lang.Class类的一个实例的代码模块。本文主要和大家聊聊JVM类加载器ClassLoader的使用,需要的可以了解一下
    2022-12-12
  • spring-session简介及实现原理源码分析

    spring-session简介及实现原理源码分析

    这篇文章主要介绍了spring-session简介及实现原理源码分析,具有一定参考价值,需要的朋友可以了解下。
    2017-11-11
  • Java中注解@JsonFormat的用法详解

    Java中注解@JsonFormat的用法详解

    这篇文章主要给大家介绍了关于Java中注解@JsonFormat用法的相关资料,以及分享了@JsonFormat 将枚举序列化为对象的方法,文中给出了详细的代码实例,需要的朋友可以参考下
    2023-01-01
  • JAVA基于PDF box将PDF转为图片的实现方法

    JAVA基于PDF box将PDF转为图片的实现方法

    这篇文章主要介绍了JAVA基于PDF box将PDF转为图片的操作方法,本文给大家介绍的非常详细,具有一定的参考借鉴价值 ,需要的朋友可以参考下
    2019-07-07
  • Java中Thread类详解及常用的方法

    Java中Thread类详解及常用的方法

    在java中谈到线程,必然少不了Thread类,下面这篇文章主要给大家介绍了关于Java中Thread类及常用的方法,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-05-05

最新评论