JavaScript 图片url地址转base64

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

目录

前言

一、图片地址转base64


前言

记录来自于每一次的实际需求;

此次需要做的是将拿到的图片,转png格式下载,看了下数据库返回的地址,有png、svg、jpg格式,我的想法是先通通转base64,再处理成png下载。


一、图片地址转base64

1、先定义一个方法 

/**
 * 根据图片的url转换对应的base64值
 * @param { String } imageUrl 如:http://xxxx/xxx.png
 * @returns base64取值
 */
async urlToBase64(imageUrl) {
    return new Promise((resolve, reject) => {
      let canvas = document.createElement('canvas')
      const ctx = canvas.getContext('2d')
      let img = new Image()
      img.crossOrigin = 'Anonymous' // 解决Canvas.toDataURL 图片跨域问题
      img.src = imageUrl
      img.onload = function() {
        canvas.height = img.height
        canvas.width = img.width
        ctx.fillStyle = '#fff' // canvas背景填充颜色默认为黑色
        ctx.fillRect(0,0,img.width,img.height)
        ctx.drawImage(img, 0, 0) // 参数可自定义
        const dataURL = canvas.toDataURL('image/jpeg', 1) // 获取Base64编码
        resolve(dataURL)
        canvas = null // 清除canvas元素
        img = null // 清除img元素
      }
      img.onerror = function() {
        reject(new Error('Could not load image at ' + imageUrl))
      }
    })
}

2、存储返回的base64,并转为png格式下载文章来源地址https://www.toymoban.com/news/detail-593889.html

/**
* 下载图片的方法
 * @param { String } imageUrl 如:http://xxxx/xxx.png
 * @returns base64取值
 */
async upload(item) {
 // 此处的src 是图片地址,如: http://xxxx/xxx.png 
  let { src, name } = item
  // 存储base64的值
  let base64 = await this.urlToBase64(src)
  let link = document.createElement('a')
  link.href = base64
  link.download = `${name}.png`
  link.click()
}

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

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

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

相关文章

  • 前端实现图片转Base64

    废话不多说,直接上代码 我们传入一个图 片地址看看是否成功  但是,一般我们在做这样的需求前,处理的图片肯定不止一张,接下来就要批量处理,但是这个方法是异步,我们要将一个数组内的每个对象的地址都转成base64,才算真正完成我们的功能。前端一般接收到后端的

    2024年02月05日
    浏览(43)
  • 前端 base64与图片相互转换

    base64转图片 如下图:(后端返回的数据) base64转换图片文件 图片(url)转换base64 便捷的图片转化base64 利用 Chrome 浏览器,在 chrome 下新建一个窗口,然后把要转化的图片直接拖入浏览器,打开控制台,点 Source,如下图所示,点击图片,右侧就会显示该图片的 base64 编码

    2024年02月12日
    浏览(52)
  • Java 图片渲染到前端,向前端一次返回多张Base64图片

    当我们从服务器读取的图片链接返回给前端,前端可以很轻松的下载和展示,但是对于临时文件,我们不需要保存到服务器,比如PPT转图片,PDF转图片等等,我们需要直接返回给前端,对于一张图片可以使用flush()渲染到前端,多张图片可以把图片编码成Base64,并存储到数组中

    2024年02月09日
    浏览(40)
  • 前端将base64图片转换成file文件

    1、base64转成file具体代码 文件转换过程: 2、代码解析 ​ 该方法涉及知识点较多,首先因为base64的前缀信息部分与文件内容部分是通过 , 进行连接的, data:image/***;base64(前缀信息),xxxxx(文件内容) ,所以利用 split() 方法对base64进行分割,将前缀文件信息,与文件内容分隔开。得

    2024年01月20日
    浏览(54)
  • 【JS】前端base64转图片File对象

    base64ToFile.js

    2024年02月05日
    浏览(56)
  • 前端获取本地图片并且转化为base64格式

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

    2024年02月09日
    浏览(61)
  • 前端FileReader对象实现图片file文件转base64

    1、file转base64具体代码 2、原理解析 ​ 上面封装的方法,其原理主要是借助 FileReader 对象来实现图片格式的转换, FileReader 对象中的 readAsDataURL() 方法,可以读取一个 File 或 Blob 类型的文件,并将其转换为base64格式的字符串。但要注意的一点是:我们通过 readAsDataURL() 方法去读

    2023年04月09日
    浏览(39)
  • SpringBoot+Vue项目中遇到Not allowed to load local resource图片路径问题的两种解决方案(在后端映射本地路径或将图片转base64返回给前端)

    后端映射本地路径 转base64格式返回 如果是少量图片可以这么操作,不然图片多的话返回base64由于字符太长,传输速度很慢,会导致卡顿现象、加载慢、加载异常等情况出现。 图片转base64 base64转图片保存 headPhotoPath = “D:yangleProjectImageLocationheadPhoto” userPhotoPath = “nologin”

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

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

    2024年02月09日
    浏览(59)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包