我需要从远程服务器下载一个.jpg图像并将其转换为base64格式。我使用axios作为我的HTTP客户端。我尝试向服务器发出git请求并检查response.data
,但它似乎不是这样工作的。
axios链接:https://github.com/mzabriskie/axios
链接到base64实现:https://www.npmjs.com/package/base-64
我正在使用NodeJS / React,所以atob/btoa不起作用,因此该库。
axios.get('http://placehold.it/32').then(response => {
console.log(response.data); // Blank
console.log(response.data == null); // False
console.log(base64.encode(response.data); // Blank
}).catch(err => console.log(err));
6条答案
按热度按时间hyrbngr71#
这对我来说非常有效:
tyg4sfes2#
可能有更好的方法来实现这一点,但我已经这样做了(减去
catch()
等额外的位):我怀疑你的问题至少有一部分可能是服务器端的。即使没有设置
{ responseType: "blob" }
,你也应该在response.data
输出中有一些东西。cuxqih213#
这就是我的工作方式(使用
Buffer.from
)-erhoui1w4#
使用
responseType: "text", responseEncoding: "base64"
将获得编码为base64字符串的响应正文例如,示例代码将获取base64并将一个jpg文件写入磁盘。
t1rydlwq5#
您可以将blob从FileReader api转换为base64,然后显示它。
并将其显示为:
vdzxcuhz6#