zoukankan      html  css  js  c++  java
  • vue js中解决二进制转图片显示问题

    vue js中解决二进制转图片显示问题

    一:问题

    工作中碰到的问题,在处理接口返回的验证码图片时,由于返回的是encode编码代码,在js端获取到数据之后,通过函数encodeURI()来进行解码,之后可以通过在src中设置来实现图片显示:

    <img src="data:image/jpeg;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAAoCAIAAAC6iKlyAAAFL0lEQVR42u3Zb2hXVRgH8EsbGoNe%0D%0ABJWmKeGcL1TajKGbmlGjjAWDRstQ7IWoc%2BALw6SgF669iWqRYKUuCWJtGDrDSCgkN6SUEnHG1PbC%0D%0AgVgJib5okkZ%2F7IEnHp7Ouee5zzn33LsJHb778dv9nXt%2Fd5%2Ffw3PP%2FS25dduO6rH%2Bp4%2F9UeY7ftva%0D%0AjAnYN4Gfrp0vQm5H65Kh84gn9Ay5MSvrL1AmrfLiXRsAGh6NNOzrN7ZMyOl98MwUCD7%2F%2FLXLSeok%0D%0AEofnHL04%2BrXDVa1nTsMjJH9Fg3Xq9g0...">

    二:解决方法

    1. js中解决(简单粗暴)

      实现方法:在src前添加data:image/jpeg;base64,+已经encode的二进制代码,就可以在网页端显示出图片

    以下是用vue实现的代码

     this.filePath = 'data:image/jpeg;base64,' + row.imageBlob
     <img :src="'data:image/jpeg;base64,'+row.imageBlob" style="50%;height:50%" @click="handleLookAt(row)">

      2. 如果图片文件多且大,还是选用文件服务器最为稳妥,可以简单的创建一个ftp服务器,后端处理图片存在ftp上,返回一个ftp的地址即可


      不过这么长串的二进制字符直接展示在html里实在不是上上之选,希望有条件的话可以让后台进行转码,直接获取src地址才是相对友好的方法。

  • 相关阅读:
    CSS和Js样式属性的对照关系
    CSS选择器
    主成分分析(PCA)核心思想
    线性变换的本质
    java 滤镜实现
    Spring Boot工程发布到Docker
    解决maven的报错
    spring boot初探
    WPF的Page介绍及Page Window Frame 之间的链接使用示例,嵌套问题
    浅谈WPF页间导航
  • 原文地址:https://www.cnblogs.com/cbpm-wuhq/p/12969095.html
Copyright © 2011-2022 走看看