之前一直用的是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就是。。别再一直改问题了。。
===
下面是浏览器端的
思路就是制造一个 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')
}
添加回答
举报
0/150
提交
取消