springboot传图片到前端之有手就行

其实想要实现springboot传图片到前端是一件非常容易实现的,但是网上太多弄得花里胡哨,让人摸不清头脑;

实现springboot传图片到前端第一步(找图片)

没错,想要实现这个功能,第一步就是找图片
经过一段紧张的思考,我觉得还是弄点比较 色情 好康 的图片
并且通过董事会开会决定,咱就通过抓网上的图片下来实现springboot传图片到前端的第一步

就决定是你了
在这里我就不多说怎么通过java获取网上的图片了,反正最后的步骤都是一样的,需要将图片转换为byte[]数组

实现springboot传图片到前端第二步(把图片转为byte[]数组)

用于byte[]数组来实现是最简单的,所以用byte[]来传准没错

图片转byte数组第一步

1、获取图片输入流

InputStream inputStream = HttpUtil.toGet("https://ss1.bdstatic.com/70cFvXSh_Q1YnxGkpoWK1HF6hhy/it/u=3708260731,3754490116&fm=26&gp=0.jpg");

我这里是通过http请求获取的图片输入流,如果你们不需要这样的话,就算通过本地传图片到前端,第一步也是获取图片输入流的

2、输入流转byte[]

我这里写了个方法,如果需要直接复制粘贴进去就行,调用这个方法,就可以得到输入流的转的byte[]

    public byte[]  getBytesByStream(InputStream inputStream){byte[] bytes = new byte[1024];int b;ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();try {while((b = inputStream.read(bytes)) != -1){byteArrayOutputStream.write(bytes,0,b);}return byteArrayOutputStream.toByteArray();} catch (IOException e) {e.printStackTrace();}return null;}

实现springboot传图片到前端第三步(定义返回图片接口方法)

1、在这一步,也就是controller里面的方法,直接定义返回值为ResponseEntity<byte[]>,一定要是这个返回值啊,其他的话,这个方法是不行的

2、定义httpHeaders

在这里如果是操作本地图片的,需要注意一点,就是你的图片是什么类型的,下面这个MediaType.IMAGE_PNG就是什么类型的

final HttpHeaders headers = new HttpHeaders();headers.setContentType(MediaType.IMAGE_PNG);

3、return

这一步就是将前面我们获取到的byte[]和定义的hettpHeaders一起放到ResponseEntity<byte[]>里面,作为返回值

//第一个参数,就是图片输入流转的byte[],第二个参数就是前面定义的hettpHeaders,第三个就是在什么情况下返回,我这里就是在请求ok的情况下
return new ResponseEntity<>(bytesByStream,headers, HttpStatus.OK);

实现springboot传图片到前端第四步(看图)

直接访问你的这个端口

源码

    @GetMapping("/qrg1")public ResponseEntity<byte[]> getImg() {//通过自己写的http工具类获取到图片输入流InputStream inputStream = HttpUtil.toGet("https://ss1.bdstatic.com/70cFvXSh_Q1YnxGkpoWK1HF6hhy/it/u=3708260731,3754490116&fm=26&gp=0.jpg");//将输入流转为byte[]byte[] bytesByStream = getBytesByStream(inputStream);final HttpHeaders headers = new HttpHeaders();headers.setContentType(MediaType.IMAGE_PNG);return new ResponseEntity<>(bytesByStream,headers, HttpStatus.OK);}public byte[]  getBytesByStream(InputStream inputStream){byte[] bytes = new byte[1024];int b;ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();try {while((b = inputStream.read(bytes)) != -1){byteArrayOutputStream.write(bytes,0,b);}return byteArrayOutputStream.toByteArray();} catch (IOException e) {e.printStackTrace();}return null;}

springboot传图片到前端之有手就行相关推荐

  1. SpringBoot将图片/文件传至前端

    SpringBoot将图片/文件传至前端 1. 返回OutputStream 2. 返回base64格式 1. 返回OutputStream @GetMapping("/download&q ...

  2. springboot后台怎么获取前端传过来的excel_开源商城系统包含后台管理和手机端

    此开源项目是一个基于Spring Boot和Vue.js的web商城系统 包含了商城的后台管理系统 提供了手机端的商城系统 小程序版开发中 app版(基于Flutter)开发中 功能模块 包含了后台管 ...

  3. 菜鸟的springboot项目图片上传及图片路径分析

    菜鸟的springboot项目图片上传及图片路径分析 说明 一.图片路径分析 二.实现图片上传 (1)单文件上传(非异步) (2)单文件上传(异步) 三.总结 四.更新配置文件 说明 更新时间:202 ...

  4. springboot 实现图片上传功能

    springboot 实现图片上传功能 这几天在做重构学校的图书馆项目,用sprinboot重新搭建项目,原项目是使用PHP搭建的,刚开始看着挺懵的,慢慢的就看懂.这个项目中遇到的难题是照片上传功能, ...

  5. SpringBoot+Thymeleaf图片上传

    SpringBoot+Thymeleaf图片上传 首先需要添加本地图片映射 我是在启动类添加 @SpringBootApplication @MapperScan("com.example. ...

  6. 使用vue+elementUi+springBoot实现图片上传,图片删除,图片展示

    使用vue+elementUi+springBoot实现图片上传,图片删除,图片展示 环境配置 准备环境 使用软件 图片上传 图片删除 图片显示 所有代码均为参考,每个人的方法不一样,效果不一样,该代 ...

  7. springboot入门系列教程|第九篇:springboot实现图片上传与显示(附源码)

    前言## 上一篇我们介绍了springboot如何实现自定义拦截器配合注解使用,那么这篇我们将介绍springboot实现图片上传的功能. 目录## 文章目录 前言## 目录## 项目创建### 项目 ...

  8. springboot实现图片上传到又拍云中,并且保存图片外连接路径到数据库,外连接也可访问图片(一)

    注册又拍云账号,申请一个云存储空间.如果开启服务状态,开启状态把必须要进行实名认证.开启状态之后,自行申请服务即可.申请完成之后,点击配置 进入下个页面不用管,直接点击存储管理. 拉到最下面查看管理员 ...

  9. (附源码)springboot电商系统前端界面设计与浏览器兼容性研究 毕业设计 231058

    基于springboot电商系统前端界面设计 摘  要 随着科学技术的飞速发展,各行各业都在努力与现代先进技术接轨,通过科技手段提高自身的优势:对于电商系统前端界面设计与浏览器兼容性研究当然也不能排除 ...

最新文章

  1. 一,初次接触html+css需要注意的小问题
  2. DELL R720安装REDHAT5.1 RAID驱动问题
  3. NVIDIA Jetson Xavier NX设备上使用jtop监控GPU、CPU、内存等的使用
  4. SLAM学习--2D激光SLAM--入门学习
  5. 钉钉打卡如何破译人脸识别_疫情常态下,如何选择合适的考勤管理系统和考勤打卡工具?...
  6. 林期苏曼属性标签编辑_标签制作软件如何制作商品标签模板
  7. 问卷及量表统计与SPSS实战
  8. 制作网页中弹出对话框的制作
  9. 最近四款非常火的广告设计软件,学会大有作为
  10. 微信支付成功后发送短信通知
  11. 日期转毫秒,毫秒转日期
  12. 单核性能强的服务器cpu,单核能力最强的cpu是哪个?
  13. 介绍下微信刷票被禁了怎么办及微信拉票怎么人工买票的方法
  14. 毕生精力总结的电脑技巧
  15. 前端如何实现即时通信?
  16. 小白科研笔记:简析图神经网络收敛性的理论证明
  17. 口红微商怎么引流?微商卖口红需要注意什么?
  18. 前端:margin、padding、float一篇文章彻底理解
  19. simulink中MUX
  20. 【电机控制算法】SVPWM算法的应用(基于Simulink与STM32外设场景的仿真)

热门文章

  1. 中央财经大学c语言试题答案,中央财经大学C语言题
  2. Npm 安装提示 EUNSUPPORTEDPROTOCOL 错误
  3. WPF图片背景色过滤
  4. 攻击者思维 - iOS 摄像头指示灯不亮,就真的没事了吗?
  5. 超几何分布与二项分布及其期望
  6. VSCode添加背景图片
  7. mac pro 2015 升级1T固态硬盘极简版本(三星970 evo plus)
  8. kaggle上面的E-Commerce Data数据集练习(数据处理)
  9. java从入门到弃坑十五天
  10. FLUENT中关于边界和域的操作