1.当后端将请求图片的url传给前端,前端无需处理直接放置于img标签即可。

<img class="popover-image" :src="getImgList(image)"/>
// 此处需要对图片url进行处理
getImgList(url) {return getImg(url)
},export function getImg(url) {return `${process.env.VUE_APP_BASE_API}${url}`
}

2.当需要向后端传递base64的数据,处理如下

// 此处为上传方法
this,formData.icon // 表单字段:传图片base64
getBase64(image){var base64 = ''var img = new Image()// 图片预加载:把图片加载到本地,之后就直接到缓存那里拿图片img.onload = () => {base64 = this.image2Base64(img)this.formData.icon}
}image2Base64(img) {var canvas = document.createElement('canvas')canvas.width = img.widthcanvas.height = img.heightvar ctx = canvas.getContext('2d')ctx.drawImage(img, 0, 0, img.width, img.height)var dataURL = canvas.toDataURL('image/png') // 转换为base64编码后图片的格式return dataURL
}

3.当上传图片时,需要对图片的格式、大小等进行限制,处理如下。

// 此处以100KB、100*100、image/jpg为例
beforeUpload(file){const _this = thisconst isImg = ['image/jpg', 'image/png', 'image/jpeg'].indexOf(file.type) > -1const is100KB = file.size / 1024 < 100 // 限制小于100KBif(!is100KB){this.$message.error({ center: true, message: `图片大小不能超过100KB` })return false} else if(isImg){this.$message.error({ center: true, message: '图片格式只支持JPG/PNG' })return false} else {const isSize = new Promise((resolve,reject)=>{const _url = window.URL || window.webkitURLconst img = new image()img.src = _url.createObjectURL(file)img.load = function(){const valid = img.width === 100 && img.height === 100valid ? resolve() : reject()}}).then(()=>{return file},()=>{_this.$message.error({ center: true, message: `图片尺寸只支持100*100` })return Promise.reject()})return isSize}
}// URL对象是硬盘(SD卡等)指向文件的一个路径,如果我们做文件上传的时候,想在没有上传服务器端的情况下看到上传图片的效果图的时候就可是以通过var url=window.URL.createObjectURL(obj.files[0]);获得一个http格式的url路径,这个时候就可以设置到<img>中显示了。
window.webkitURL和window.URL是一样的,window.URL标准定义,window.webkitURL是webkit内核的实现(一般手机上就是使用这个),还有火狐等浏览器的实现

后端向前端返回图片URL,并向后端传递base64格式URL相关推荐

  1. [待解决]自定义头像时使用vue-cropper进行图片裁剪,得到的是base64格式的图片,如何对接file类型的api接口

    [待解决]自定义头像时使用vue-cropper进行图片裁剪,得到的是base64格式的图片,如何对接file类型的api接口 百度很多都没用,有想法欢迎指点.

  2. php+打开图片二进制文件,php图片文件、二进制流、base64格式相互转化

    1,php 图片文件.二进制流.base64格式相互转化$image = 'E:/www/logo.png';  //图片文件地址 $type = getimagesize($image)['mime ...

  3. springboot前后端分离 前端请求图片问题

    1.前后端分离的情况下,前端通过服务器请求后端图片,通常是后端把图片放在服务器上的指定文件夹中,然后写一个配置类,前端访问后端数据库的图片路径,然后后端在配置文件中做文件映射,前端访问数据库的图片路径 ...

  4. nodejs读取图片并将二进制数据转换成base64格式

    首先,使用nodejs进行数据读取,需要用到nodejs的fs模块进行数据读取: fs.readFile('你的资源路径','binary',function(err,data){if(err){co ...

  5. Javaweb8==通过tomcat访问到一段代码并执行,同时读取前端数据和从后端给前端返回数据。通过继承javaEE的HttpServlet类。实现登录注册功能和前端界面。

    环境配置:IDEA2021+maven3.8+JDK8+mysql5+mybatis3.5+servlet4+tomcat7+html5+谷歌浏览器+logback日志 需求: 注册功能:前端html ...

  6. 前后端分离项目后端向前端返回压缩包的方法实现java版

    最近公司的项目是让前端有让用户下载zip压缩包(里面都是图片,图片是保存在ftp上的)的任务,经过调研,将最终方案复制在下面: //zip文件的下载@GetMapping("/zip/{im ...

  7. python前后端分离前端权限_Linux上搭建前后端分离项目

    一.准备工作 1.准备好服务器 2.Linux上准备搭建环境需要的软件 赞赞羊项目需要用到的软件: python.gunicorn.nginx.MySQL.redis 3.开发人员对代码打包 前端需要 ...

  8. 微信小程序判断服务器返回值res,微信小程序后端怎么给前端返回成功状态码

    这要看你的后端是以什么形式给前端返回信息的.比如说是纯文本格式(以为例):header("Content-Type:text/html"); echo "100" ...

  9. vue项目,把图片文件流转为base64格式以图片形式展示在前端

    问题描述 前台需要展示图片,期望后台直接返回图片地址,但是后台给的是的文件流而不是一个图片地址,需要把文件流转为base64的格式展示出来. 请求后台接口时,返回图片内容如下: 上图不是base64格 ...

  10. 前端优化-图片打包处理base64的原因

    为什么要将图片打包成base64格式 首先我们知道在前端技术中每一张图片的加载都会进行一次http请求,而每次http请求都是需要时间的,所以当网页中图片资源很多的时候,如果不进行base64转译,就 ...

最新文章

  1. 视觉SLAM学习(三)--------SLAM 综述
  2. Filling Shapes
  3. java父类引用子类_java多态,如何理解父类引用指向子类对象
  4. 可临摹学习的精致的音乐播放器界面设计ui模板
  5. Java边缘填充_任意画一个多边形,用边缘填充算法填充
  6. Pytorch模型参数的访问、初始化和共享
  7. char 与 unsigned char的本质区别(转)
  8. 联想x3850x6重装系统,ibm x3850 x6安装系统,2015ibm服务器x3850x6
  9. Java暑期实训——简易计算器
  10. envi自定义坐标系
  11. 【UCSC Genome Browser】- ClinGen剂量敏感性分析
  12. elementUI_drawer踩坑_抽屉关闭问题
  13. 你真的熟练运用 HTML5 了吗,这10 个酷炫的 H5 特性你会几个?
  14. 入侵检测领域数据集总结
  15. cibersortx怎么用_如何使用Xbrowser
  16. 最新!SPDK宣布在NVMe-oF Fabrics中支持TCP transport
  17. “似水无形” 的小程序化
  18. 数据结构与算法---均摊时间复杂度
  19. 分布式事务之TCC模型 confirm失败补偿
  20. 凸包与Graham扫描法求凸包

热门文章

  1. qq空间把android改成iphone,qq空间利用代码修改iPhone6 Plus详细方法 qq空间修改手机型号教程...
  2. WES7SP1_zh-CN For Asrock DeskMini A300
  3. Xshell使用教程及WinSCP使用教程
  4. sap系统webservice接口开发
  5. 微信小程序-实现保存图片功能的3种方式
  6. 【个人作品】记之-串口日志记录工具
  7. MySQL数据库学习路径 链接汇总
  8. 旅游日记——2000元北京6天5夜游
  9. android.dig机器人采访,机器人学导论心得 - osc_jjc36t9p的个人空间 - OSCHINA - 中文开源技术交流社区...
  10. CRNN原理详解、代码实现及BUG分析