文章目录

  • 前言
  • 一、前端传后端
  • 二、后端接受,并返回给前端
  • 三,前端接受返回

前言

前端传图片给后端的方式,是通过bsae64传输,然后后端把接收到的转化为字节流在把图片展示出来

后端传前端直接传输了字节流

Base64是网络上最常见的用于传输8Bit字节码的编码方式之一,Base64就是一种基于64个可打印字符来表示二进制数据的方法

一、前端传后端

//参数为图片的静态文件地址
clickImg(size){//将图片传到后端this.changeBlob(size).then(res =>{let reader = new FileReader()// 读取图片,转化为blob格式是因为此方法参数为blobreader.readAsDataURL(res)// 读取完毕后的操作reader.onloadend = (e) => {// reader.result就是图片的base64字符串createScanCode(reader.result).then(res=>{//这就是个请求,后端对接好,参数用String类型接受就行})}})},//将地址转化为blob格式changeBlob(size){return new Promise(resolve => {const xhr = new XMLHttpRequest();xhr.open('GET',size, true);xhr.responseType = 'blob';xhr.onload = () => {if (xhr.status === 200) {resolve(xhr.response);}};xhr.send();});

二、后端接受,并返回给前端

 //用户生成二维码@PostMapping("/createScanCode")public R<?> createScanCode(@RequestBody SysScanCode sysScanCode) throws IOException, WriterException {//base64转字节流,然后想怎么操作都可以byte[] decoderBytes = Base64.getDecoder().decode(sysScanCode.getBasePic().split(",")[1]);//逻辑省略.....return R.ok();}//用户拿出图片@PostMapping("/getScanCode")public ResponseEntity<byte[]> getCode(@RequestBody SysScanCode user){//我这边是从数据库里边直接拿出来//拿的过程就省略了byte[] scanCode = sysScanCode.getScanCode();final HttpHeaders headers = new HttpHeaders();headers.setContentType(MediaType.IMAGE_PNG);//把字节流直接放进去传给前端就okreturn new ResponseEntity<>(scanCode,headers, HttpStatus.OK);}

三,前端接受返回

//直接一个请求,接受到后端传过来的字节流
getScancode().then(res=>{let blob=new Blob([res])//利用这个方法生成url直接拿到标签里边用let url =window.URL.createObjectURL(blob)})

Spring+Vue前后端传输图片-简单易上手,copy直接用相关推荐

  1. SpringBoot+Vue前后端分离实战(用户注册登录)

    文章目录 前言 注册 前端部分逻辑 发送请求 后端处理 登录 前端获取token 前端token状态管理 后端处理 用户登录 生成token 拦截器设置 总结 前言 昨天抽空终于把后端架起来了,准备开 ...

  2. 《Vue+Spring Boot前后端分离开发实战》专著累计发行上万册

                杰哥的学术专著<Vue+Spring Boot前后端分离开发实战>由清华大学出版社于2021年3月首次出版发行,虽受疫情影响但热度不减,受到业界读者的热捧,截至今日 ...

  3. phython在file同时写入两个_喜大普奔,两个开源的 Spring Boot + Vue 前后端分离项目可以在线体验了

    折腾了一周的域名备案昨天终于搞定了. 松哥第一时间想到赶紧把微人事和 V 部落部署上去,我知道很多小伙伴已经等不及了. 1. 也曾经上过线 其实这两个项目当时刚做好的时候,我就把它们部署到服务器上了, ...

  4. 记一次Spring boot 和Vue前后端分离的入门培训

    点击上方 好好学java ,选择 星标 公众号 重磅资讯.干货,第一时间送达今日推荐:2020年7月程序员工资统计,平均14357元,又跌了,扎心个人原创100W+访问量博客:点击前往,查看更多 作者 ...

  5. Vue+Spring boot前后端响应流程总结

    Vue+Spring boot前后端响应流程总结 前端请求页面路径,首先会经过路由: 经过解决跨域问题以后,就会请求到后端接口,后端接口返回的数据会封装到then回调方法的res参数中. 经过回调函数 ...

  6. Spring Boot+Vue/前后端分离/高并发/秒杀实战课程之spring Security快速搭建oauth2 内存版身份认证

    Springboot快速搭建oauth2 内存版身份认证 环境准备 点击[Create New Project]创建一个新的项目 项目环境配置 配置Thymeleaf 搭建oauth2认证,加入两个依 ...

  7. 基于flask+vue前后端分离 一款简单的旅游网站源码,带admin管理系统

    介绍 毕业设计-flask-vue前后端分离 一款简单的旅游网站,带admin管理系统 软件架构 软件架构说明 使用Python-flask 轻量级框架编写后端程序,前端采用Vue编写,后端接口都在蓝 ...

  8. 开源~~~~spring boot +vue 前后端分离 在线考试系统 加自动组卷!!!!

    在线考试系统+自动组卷!!! springboot +vue 前后端分离系统 想要源码的可以B站搜索 技术小余哥

  9. SpringBoot+vue前后端分离博客项目

    SpringBoot+vue前后端分离博客项目 Java后端接口开发 1.前言 2.新建Springboot项目 3.整合mybatis plus 第一步:导入jar包 第二步:然后去写配置文件: 第 ...

最新文章

  1. 一篇SSM框架整合友好的文章(二)
  2. silverlight 实时更新 marquee效果
  3. 如何在 Ubuntu server 中设置 RainLoop Webmail
  4. LeetCode 第 34 场双周赛(385/2842,前13.5%)
  5. arm ubuntu 编译boost_为arm linux 交叉编译boost 1.33.1
  6. 新手学Linux:在VMware14中安装CentOS7详细教程
  7. 在 Centos6/RHEL6 上恢复 ext4 文件系统下误删除的文件
  8. comet学习(三)cometd心跳机制
  9. Maven运行报错:-Dmaven.multiModuleProjectDirectory system propery is not set.
  10. 【直播预告】阿里特邀专家关键:Java无锁集合代码分析...
  11. Grub 启动时的 Error 13: Invalid or unsupported executable 问题的解决
  12. dbutilsjar包下载_commons dbutils 下载-commons dbutils.jar下载 v1.6官方版--pc6下载站
  13. python编程 上册第4版_统编版四年级语文上册第1课观潮视频+课件+练习
  14. 厉害了,用Python实现自动扫雷
  15. Zabbix设置微信报警
  16. 压缩图片大小至指定Kb以下
  17. 第一章第二题(显示五条消息)(Display five messages)
  18. 基于Word的论文多级标题与图表题注的解决办法
  19. 字体图标在ie兼容问题(element低版本icon)(图标在ie浏览器不显示)
  20. 【后端框架】MyBatis(1)

热门文章

  1. github上基于milestone自动生成releaseNotes
  2. DCS、DEH两种控制系统说明和区别
  3. android4.1 l36h,UI:全新Android 4.1果冻豆_索尼 L36h(Xperia Z/联通3G)_手机Android频道-中关村在线...
  4. 使用Android控制音乐而无需起床
  5. 通过wireshark抓取Lookback数据包
  6. springsecurity初体验(5.3.5官方文档)-1
  7. imx6ull的DMA实现的linux用户程序和驱动模块程序源码
  8. .Net Core(二)EFCore
  9. Flutter: 完成一个图片APP
  10. 给网游写一个挂吧(一) – 反反外挂驱动的驱动