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

之前一直用的是request

实现方法是get请求中直接加一个参数 encoding: "base64" 就可以了

require("request")({

    url:URL,

    encoding: "base64",

  }, (err, res, base64) => {

    // 这里就可以拿到图片data的base64字符串了

    AL.log("base64", base64)

  })

请问axios应该如何完成呢?

鸿蒙传说
浏览 1806回答 1
1回答

杨__羊羊

题主如果要在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')}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript