Vue实现Base64转png、jpg图片格式

 更新时间:2023年09月20日 10:09:34   作者:前端扎啤  
这篇文章主要给大家介绍了关于Vue实现Base64转png、jpg图片格式的相关资料,前段获取生成的是base64图片,需要转化为jpg,png,需要的朋友可以参考下

method中写两个方法:

  1. 根据base64转图片的方法
  2. 根据转换出blob格式的文件导出的方法
//base64转png
    base64ImgtoFile(dataurl, filename = 'file') {
      const arr = dataurl.split(',')
      const mime = arr[0].match(/:(.*?);/)[1]
      const suffix = mime.split('/')[1]
      const bstr = atob(arr[1])
      let n = bstr.length
      const u8arr = new Uint8Array(n)
      while (n--) {
        u8arr[n] = bstr.charCodeAt(n)
      }
      return new File([u8arr], `${filename}.${suffix}`, {
        type: mime
      })
    },
    //图片下载
    downloadBlob(blob, filename) {
      const url = URL.createObjectURL(blob);
      const a = document.createElement('a');
      a.href = url;
      a.download = filename;
      a.click();
      URL.revokeObjectURL(url);
    }

传入base64的图片全路径,在合适的位置分别调用这两个方法,即可实现下载

    var base64Img = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAABAFJREFU
..........................DlzUWu+L9NALAI4D+JOIkszc5PuWNABcBbAbwGGt9ewmAFLKJ5n5s5iXEhZCvBQEgQ3YEdd1p4UQR9PpdH11dXWRmV8motPJZPJgIpH4bWVl5dDw8PAR3/ftE2B9BuzX6Ojo/kajYZvp/i5vhAYRXbBPs3YTdcuYlPIuZj7tOM4r2+n+vx6nPdR/x1T/Aau20TA//wiSAAAAAElFTkSuQmCC';
    var imgFile = this.base64ImgtoFile(base64Img);
    this.downloadBlob(imgFile, 'test.png')

附:图片转base64的方法

 getBase64(file) {
      //把图片转成base64编码
      return new Promise(function (resolve, reject) {
        let reader = new FileReader();
        let imgResult = "";
        reader.readAsDataURL(file);
        reader.onload = function () {
          imgResult = reader.result;
        };
        reader.onerror = function (error) {
          reject(error);
        };
        reader.onloadend = function () {
          resolve(imgResult);
        };
      });
    },

总结

到此这篇关于Vue实现Base64转png、jpg图片格式的文章就介绍到这了,更多相关Vue Base64转png、jpg内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Vue使用路由钩子拦截器beforeEach和afterEach监听路由

    Vue使用路由钩子拦截器beforeEach和afterEach监听路由

    这篇文章主要介绍了Vue使用路由钩子拦截器beforeEach和afterEach监听路由,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-11-11
  • vue脚手架中配置Sass的方法

    vue脚手架中配置Sass的方法

    本篇文章主要介绍了vue脚手架中配置Sass的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-01-01
  • vue项目打包部署_nginx代理访问方法详解

    vue项目打包部署_nginx代理访问方法详解

    今天小编就为大家分享一篇vue项目打包部署_nginx代理访问方法详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-09-09
  • Vue3环境安装以及项目搭建全过程

    Vue3环境安装以及项目搭建全过程

    Vue工程化项目环境配置还是比较麻烦的,下面这篇文章主要给大家介绍了关于Vue3环境安装以及项目搭建的相关资料,文中通过图文以及代码介绍的非常详细,需要的朋友可以参考下
    2023-12-12
  • vue中对接Graphql接口的实现示例

    vue中对接Graphql接口的实现示例

    本文主要介绍了vue中对接Graphql接口的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-05-05
  • 基于vue的验证码组件的示例代码

    基于vue的验证码组件的示例代码

    这篇文章主要介绍了基于vue的验证码组件的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-01-01
  • 详解如何使用vue和electron开发一个桌面应用

    详解如何使用vue和electron开发一个桌面应用

    这篇文章主要为大家介绍了详解如何使用vue和electron开发一个桌面应用,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-03-03
  • Vue中路由传参的实用方式 分享

    Vue中路由传参的实用方式 分享

    这篇文章主要为大家详细介绍了VUE项目中路由之间的传值方式,文中的示例代码讲解详细,涉及到的方法也都是开发时常用的,希望对大家有多帮助
    2023-06-06
  • Vue动态加载异步组件的方法

    Vue动态加载异步组件的方法

    这篇文章主要介绍了Vue动态加载异步组件的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-11-11
  • 基于VUE实现判断设备是PC还是移动端

    基于VUE实现判断设备是PC还是移动端

    这篇文章主要介绍了基于VUE实现判断设备是PC还是移动端,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-07-07

最新评论