html img 使用data格式加载图片

背景

     这久闲来无事给一位客户测试一款体检软件,是winform结构的,其中有一个功能是需要把生成的体检报告导出为html格式。测试导出后直接在谷歌浏览器里查看,体检详细内容、医生签名、条形码都能正常显示。关闭浏览器准备进行下一项测试,这时发现导出的就一个html文件,桌面上扫了好几遍也没看到医生签名和条形码这两个图片文件。心想这怎么能难倒我,也是重新在浏览器里打开,按下F12看个究竟。不过看了之后更让我纳闷了,img标签的src属性并不是显示图片的路径,而是一大堆字符<img alt="" src="https://img-blog.csdnimg.cn/2022010711180949706.png" />,内容实在太长中间的"..."省略了大部分。研究了半天也看不出个所以然,但是从base64字样看得出后面的那堆字符应该是base64编码的字符串。难道是把图片编码为base64?心里一个大大的疑问。接触html这么久,也做了很多网站,可从未见过这种方式加载图片,甚至也从没听说过,难道是自己out啦!带着心中的疑问,迅速打开w3cschool找到介绍img标签的内容,仔细的看了一遍二遍,也没找到有价值的线索,这东西还真悬乎。看来只能寄希望于百度了,很麻利的输入关键字百度一下回车OK,打开搜索到的第一个链接,没让人失望就是我要找的答案,仔细阅读原来真是这么回事。

原来如此

    这是什么呢,来扫下盲。Data URI scheme是在RFC2397中定义的,目的是将一些小的数据,直接嵌入到网页中,从而不用再从外部文件载入。在上面的Data URI中,data表示取得数据的协定名称,image/png 是数据类型名称,base64 是数据的编码方法,逗号后面就是这个image/png文件base64编码后的数据。

    下面这幅图就是就是使用这种方式显示的,有兴趣你可以F12看下代码哦。

     

    我们可以直接把这串字符粘贴到浏览器地址栏里,回车后就能看到图片。但不是任何浏览器对支持,需要IE8及以上、谷歌、火狐浏览器才支持。

 

转载于:https://www.cnblogs.com/kaixiangbb/p/3302677.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Vue中,可以使用v-bind指令或简写的冒号(:)来动态绑定img标签的src属性。根据你提供的代码和需求,请参考以下步骤来实现动态绑定src属性: 1. 在Vue实例的data属性中定义一个存储图片地址的数组imgList,其中包含多个对象,每个对象代表一张图片,其中包含imgNo、src、width和height属性。 2. 在Vue模板中,使用v-for指令遍历imgList数组,为每个元素创建一个img标签,并使用:item指令将当前元素绑定到item变量上。 3. 在img标签中,使用v-bind指令或简写的冒号(:)将item.src绑定到src属性上,这样每个img标签的src属性都会根据对应的item对象的src属性动态更新。 4. 若要使用网络图片,需要在index.html页面的<head>标签中添加<meta name="referrer" content="no-referrer">,以防止浏览器发送Referer头信息。这样可以绕过一些图片防盗链的限制。 下面是一个示例代码: ```vue <template> <el-row :gutter="20"> <el-col :span="6" v-for="item in imgList" :key="item.imgNo"> <div class="grid-content bg-purple"> <img :key="item.imgNo" draggable="false" :src="item.src"> </div> </el-col> </el-row> </template> <script> export default { data() { return { imgList: [ { imgNo: 1, src: 'https://gitee.com/guo-xiaoya/images/raw/master/img/202304260905239.png', width: 40, height: 40 }, // 其他图片对象 ] }; } }; </script> ``` 通过以上步骤,你可以在Vue中实现动态绑定img标签的src属性,以显示不同的图片

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值