vue 图片转base64格式的方法

这篇具有很好参考价值的文章主要介绍了vue 图片转base64格式的方法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

  1. require的方式

    用vue引入图片的require方式获取的值可以直接生成base64格式,但是该方法只适用于5kb大小以下的图片

    const path = require('@/assets/images/test.png')
  2. canvas.toDataURL()

    该方法canvas.toDataURL(`image/${ext}`)传入的图片类型是什么生成后的base64数据前缀就是什么类型,如果传入的类型和生成的类型不同,则表示该方法不支持该类型的图片,例如gif图片转换后是png文章来源地址https://www.toymoban.com/news/detail-402231.html

    imgUrlToBase64(url) {
          return new Promise((resolve, reject) => {
            if (!url) {
              reject('请传入url内容')
            }
            if (/\.(png|jpe?g|gif|svg)(\?.*)?$/.test(url)) {
              // 图片地址
              const image = new Image()
              // 设置跨域问题
              image.setAttribute('crossOrigin', 'anonymous')
              // 图片地址
              image.src = url
              image.onload = () => {
                const canvas = document.createElement('canvas')
                const ctx = canvas.getContext('2d')
                canvas.width = image.width
                canvas.height = image.height
                ctx.drawImage(image, 0, 0, image.width, image.height)
                // 获取图片后缀
                const ext = url.substring(url.lastIndexOf('.') + 1).toLowerCase()
                // 转base64
                const dataUrl = canvas.toDataURL(`image/${ext}`)
                resolve(dataUrl || '')
              }
            } else {
              // 非图片地址
              reject('非(png/jpe?g/gif/svg等)图片地址');
            }
          })
        },
  3. FileReader.readAsDataURL()

    getBase64(imgUrl) {
          return new Promise((resolve, reject) => {
            if (!imgUrl) {
              reject('请传入imgUrl内容')
            }
            if (/\.(png|jpe?g|gif|svg)(\?.*)?$/.test(imgUrl)) {
              window.URL = window.URL || window.webkitURL
              var xhr = new XMLHttpRequest()
              xhr.open('get', imgUrl, true)
              xhr.responseType = 'blob'
              xhr.onload = function() {
                if (this.status == 200) {
                  // 得到一个blob对象
                  var blob = this.response
                  const oFileReader = new FileReader()
                  oFileReader.onloadend = function(e) {
                    const base64 = e.target.result
                    resolve(base64 || '')
                  }
                  oFileReader.readAsDataURL(blob)
                }
              }
              xhr.send()
            } else {
              // 非图片地址
              reject('非(png/jpe?g/gif/svg等)图片地址')
            }
          })
        },

到了这里,关于vue 图片转base64格式的方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 前端获取本地图片并且转化为base64格式

    今天看见网上各位大佬五花八门的前端图片获取并转化为base64格式的操作,果然高手在民间,很神奇,没想到有这么多方法,那我也来写一个我自己的方法 我是习惯使用filereader这个内置类,感觉比较简单,不用管内部原理,反正可以获取图片,实现在互联网上的传输就可以

    2024年02月09日
    浏览(61)
  • 图片转为base64格式的优缺点分析

    1. 优点 (1)网页中使用base64格式的图片时,不用再请求服务器调用图片资源,减少了服务器访问次数。 (2)base64编码的字符串,更适合不同平台、不同语言的传输; (3)算法是编码, 不是压缩, 编码后只会增加字节数,但是算法简单, 几乎不会影响效率,算法可逆, 解码很

    2024年02月05日
    浏览(49)
  • 如何将图片转化为base64编码格式显示

    base64编码 是将数据用 64 个可打印的字符进行编码的方式,任何数据底层实现都是二进制,所以都可以进行 base64编码,base64编码 主要用在数据传输过程中(编码、解码)。而 Data URI 是将数据用 URI 的形式进行展现。常用的是将图片进行 base64 编码,用 Data URI 的形式进行展现,可

    2024年02月06日
    浏览(49)
  • 如何将base64图片转化为URL格式

    1)将base64图片格式转为可读的url格式 将图片文件转为二进制,然后通过URL的createObjectURL函数,将二进制转为url格式 2)将图片转为文件

    2024年02月12日
    浏览(44)
  • HTML img标签识别base64图片格式

    红色框框为需要带上的格式,有这个格式img标签才能对base64进行解码,后面白色框框为base64编码 还有一些其他格式为: data:,文本数据 data:text/plain,文本数据 ;javascript:;,HTML代码 ;javascript:;;base64,base64编码的HTML代码 data:text/css,CSS代码 data:text/css;base64,base64编码的CSS代码 data:text/ja

    2024年02月16日
    浏览(38)
  • Android中的图片如何转换成Base64格式

    Android手机客户端的图片数据上传到服务器中保存,首先需要将客户端的图片转换成Base64格式,然后才能通过网络上传到服务器中。 让客户端将图片上传到服务器,将图片的网络URL告诉服务器 将图片转成Base64编码,传递给服务器,服务器将Base64字符串解码之后生成一张图片。

    2023年04月27日
    浏览(40)
  • uniapp+vue3+vant-weapp运行到微信小程序中绘制海报,将画布中绘制base64格式的图片以及长按进行图片的分享和下载

    对于uniapp绘制海报,遇到的难点就是将bas64格式的图片绘制上去,试了很多方式,终于找到了不错的方法, 先将其下载到本地,再进行绘制,以下就是 完整的代码 海报的内容可以根据自己的需求自行更改 ## 下面有一个测试base64格式的图片,可用替换成自己的实际路径 ## 长按

    2024年02月21日
    浏览(120)
  • postman获取验证码图片(base64字符串格式)

    在 Tests 里编写脚本 然后,在响应体的 Visualize 里查看

    2024年02月12日
    浏览(57)
  • 【uniapp】微信小程序 普通图片路径和base64格式图片 保存图片到相册

    第一种:普通图片路径 第二种:base64格式的图片 以上便是两种保存图片的方式。 

    2024年04月23日
    浏览(41)
  • 前端 img图片如何 展示 base64 格式(并且下载到本地)

    如题:最近在做项目发现页面上有些图片是动态获取的,也就是后台给我们返回图片的存放地址,一般都是放在服务器上的某个位置,我们直接拿到渲染一下就行了,(前提是不存在跨域问题), 但是由于项目特殊性,后台使用了Python 渲染出来的图片是svg格式的图片,并且

    2024年02月09日
    浏览(57)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包