为了账号安全,请及时绑定邮箱和手机立即绑定

Node.js中axios如何由一个图片的URL得到图片data的Base64字符串呢?

Node.js中axios如何由一个图片的URL得到图片data的Base64字符串呢?

鸿蒙传说 2019-02-04 13:16:20
之前一直用的是request实现方法是get请求中直接加一个参数 encoding: "base64" 就可以了require("request")({    url:URL,    encoding: "base64",  }, (err, res, base64) => {    // 这里就可以拿到图片data的base64字符串了    AL.log("base64", base64)  })请问axios应该如何完成呢?
查看完整描述

1 回答

?
杨__羊羊

TA贡献1943条经验 获得超7个赞

题主如果要在node下,axios没有这个选项,这里用其它可以图片转base64的package就是。。别再一直改问题了。。

https://img1.sycdn.imooc.com//5c65566f0001d77f08000515.jpg

===

下面是浏览器端的

思路就是制造一个 image 和 canvas 元素进行编码。

这里的图片的url是已知的还是需要ajax进行获取的?如果是已知的就好做了,如果是ajax获取的那么也差不多下面的。

代码没有验证,题主可以试一试,我给注释了。

var img = new Image()

// 把url给img的src属性

img.src = url;

// img加载需要时间,需要onload进行回调

img.onload = function(){

    var canvas = document.createElement('canvas')

    // 设置高宽

    canvas.height = img.height

    canvas.width = image.width

    // 把图片放入 canvas

    canvas.getContext('2d').drawImage(image, 0, 0)

    // 下面这个就是 base64 的数据

    return canvas.toDataURL('image/png')

}


查看完整回答
反对 回复 2019-02-14
  • 1 回答
  • 0 关注
  • 1805 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号