js将图片转base64两种方法

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

第一种:Image + canvas

const getBase64Image = src => {
    return new Promise(resolve => {
        const img = new Image()
        img.crossOrigin = ''
        img.src = src
        img.onload = function () {
            const canvas = document.createElement('canvas')
            canvas.width = img.width
            canvas.height = img.height
            const ctx = canvas.getContext('2d')
            ctx?.drawImage(img, 0, 0, img.width, img.height)
            const ext = img.src.substring(img.src.lastIndexOf('.') + 1).toLowerCase()
            const dataURL = canvas.toDataURL('image/' + ext)
            resolve(dataURL)
        }
    })
}

第二种:xhr + FileReader文章来源地址https://www.toymoban.com/news/detail-509323.html

const getBase64Image = src => {
    return new Promise(resolve => {
        let xhr = new XMLHttpRequest()
        xhr.open('get', src, true)
        xhr.responseType = 'blob'
        xhr.onload = function () {
            if (this.status == 200) {
                let blob = this.response
                let oFileReader = new FileReader()
                oFileReader.onloadend = function (e) {
                    const base64 = e.target.result
                    resolve(base64)
                }
                oFileReader.readAsDataURL(blob)
            }
        }
        xhr.send()
    })
}

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

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

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

相关文章

  • 微信小程序坑之image回显不出来后端返回的base64格式图片

    做了半天,拼接出来的base64在菜鸟里也能正常显示,但在微信小程序的image标签里就始终回显不出来。后来查出问题,是由于后端返回的base64格式里面有/n等字符,所以小程序里显示不出来,把这些字符换成\\\"\\\",字符串就是了。具体方法步骤如下 将base64多余的字符给匹配为空字

    2024年02月08日
    浏览(43)
  • 【JS】前端base64转图片File对象

    base64ToFile.js

    2024年02月05日
    浏览(38)
  • vue3中使用base64加密(两种方法)

    Hi,今天分享一个在vue中使用base64对用户名、密码进行加密的小案例。 我们是可以有两种方法的: 1.使用插件:js-base64 2.引入文件。 1.首先我们安装插件 2.项目中引入 3.使用 1.创建utils/base64.js文件夹,复制以下代码 2.在文件中引入该文件 3.使用 抓紧时间练起来吧,兄dei,再不练你

    2024年02月12日
    浏览(33)
  • 【js】js前端技巧之图片格式转换(File、Blob、base64):

    一、类型简介 BLOB(binary large object) : 二进制大对象,是一个可以存储二进制文件的容器。 在计算机中,BLOB常常是数据库中用来存储二进制文件的字段类型。 属性名称 读/写 描述 size 只读 Blob 对象中所包含数据的大小(字节)。 type 只读 一个字符串,表明该Blob对象所包含数据

    2024年02月07日
    浏览(38)
  • JS基于base64编码加密解密文本和图片(修订)

    ​ 密码学,体系太庞大了,常见的加密解密算法很多,这里仅介绍采用base64实现的加密解密的方法。 严格地说base64不是加密算法,他只是一种编码方式,是一种用64个字符来表示任意二进制数据的方法。详情可参见其它资料。 Base64编码具有不可读性,需要解码后才能阅读。

    2024年02月07日
    浏览(40)
  • uniapp图片转base64及JS各文件类型相互转换

    App H5 微信小程序 快手小程序 京东小程序 √ √ √ √ √ 功能限制主要在arrayBufferToBase64 微信小程序 字节跳动小程序 QQ小程序 √ √ √ 功能限制主要在getFileSystemManager H5 √ 功能限制主要在FileReader实例上 在 JavaScript 中的经常用到的二进制的格式有三种: ArrayBuffer:用来表示通

    2024年02月08日
    浏览(40)
  • get两个js小技能——JS截取视频第一帧&图片转Base64

    由于开发之前做的VisualDrag拖拽模板优化的时候,拖拽进去的图片、视频文件等需要进行截图作为封面,目前采用的截图方法是htme2canvas,使用canvas进行的截图操作,所以就会遇到这样的问题,视频和图片图床简单的使用标签加入canvas画布里面无法正确的截图成功。最后采取的

    2024年02月12日
    浏览(29)
  • html2canvas生成图片地址Base64格式转成blob在转成file(二进制)可正常发送(保姆教程,复制粘贴可用)

    开始:                                                  最终结果:                                                      1. html2canvas方法生成的图片地址已Base64编码形式放在img标签src中可直接展示生成的图片(注意 页面标签获取位置 ,还有个 setTimeout 页面渲染需要

    2024年02月13日
    浏览(34)
  • vue 图片转base64格式的方法

    require的方式 用vue引入图片的require方式获取的值可以直接生成base64格式,但是该方法只适用于5kb大小以下的图片 canvas.toDataURL() 该方法canvas.toDataURL(`image/${ext}`)传入的图片类型是什么生成后的base64数据前缀就是什么类型,如果传入的类型和生成的类型不同,则表示该方法不支持

    2023年04月08日
    浏览(33)
  • 后台传输图片给前端的Base64编码方法及原理解析

    探索后台向前端传输图片的方式之一:通过Base64编码将图片转换为字符串数据,并在前端显示图片。本文详细介绍了Base64编码的原理、转换步骤以及位数不足情况的处理方法,帮助理解Base64编码的工作原理。

    2024年02月04日
    浏览(33)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包