Java 通过url获取图片传给前端

Java 通过url获取图片传给前端

把新学的功能做个记录,一下是具体的代码实现。

具体代码实现

前端传入的 url分为服务器图片的url和网络图片url,因此需要做一个判断,来区分它们。

/**
     * 通过url获取图片传给前端
     * @param url  前端传过来的图片url
     * @param request
     * @param response
     */
    @RequestMapping(value = "/getimg")
    public void getimg(String url,HttpServletRequest request, HttpServletResponse response){
        System.out.println("获取的url"+url);
        String str1="http";
        boolean b=url.contains(str1);
        if (b==false){//判断是否是网络图片的url
            url="http://*****:8080/"+url;
        }
          try {
              URL urlimg = new URL(url);
              //创建链接对象
              URLConnection urlConnection = urlimg.openConnection();
              //设置超时
              urlConnection.setConnectTimeout(1000);
              urlConnection.setReadTimeout(5000);
              urlConnection.connect();
              //获取流
              InputStream inputStream = urlConnection.getInputStream();
              //读取图片
              BufferedImage bufferedImage = ImageIO.read(inputStream);
              if (bufferedImage!=null){
                  //获取图片格式
                  String format = url.substring(url.lastIndexOf(".") + 1);
                  //打印图片
                  ImageIO.write(bufferedImage,format,response.getOutputStream());// 将文件流放入response中

              }
          }catch (Exception e){
              System.out.println("图片异常"+e);
              System.out.println("参数异常"+url);
          }
    }

前端代码实现

  <img src="/getimg?url=图片的url">
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值