在 nodejs 中使用 axios 发送 base64 图像

Som*_*jee 5 node.js axios

我收到来自客户端的 base64 编码图像(作为屏幕截图),并希望使用多部分编码将其上传到另一台服务器

var base64Encoded="iVBORw0KGgoAAAANSUhEUgAAAAoAAABkCAYAAAC/zKGXAAAAK0lEQVR42u3KMQ0AAAgDsOFfJwcusMBL0t6tSToHJYqiKIqiKIqiKIri57hqIbTd/KhOmQAAAABJRU5ErkJggg==";



const x =Axios({url:"https://slack.com/api/files.upload",method:"POST", data:{title:"Hello", file: <INSERT HERE>, filetype:"png",  channel: "testchannel"},headers:{Authorization: authorization,'Content-Type': 'multipart/form-data'}});
Run Code Online (Sandbox Code Playgroud)

我在这里尝试了很多将其转换为缓冲区

var buffer = Buffer.from("iVBORw0KGgoAAAANSUhEUgAAAAoAAABkCAYAAAC/zKGXAAAAK0lEQVR42u3KMQ0AAAgDsOFfJwcusMBL0t6tSToHJYqiKIqiKIqiKIri57hqIbTd/KhOmQAAAABJRU5ErkJggg==", 'base64');
Run Code Online (Sandbox Code Playgroud)

将缓冲区转换为可读流

var buffer = Buffer.from("iVBORw0KGgoAAAANSUhEUgAAAAoAAABkCAYAAAC/zKGXAAAAK0lEQVR42u3KMQ0AAAgDsOFfJwcusMBL0t6tSToHJYqiKIqiKIqiKIri57hqIbTd/KhOmQAAAABJRU5ErkJggg==", 'base64');

console.log(buffer);
const readable = new Readable();
readable._read = function(){};
readable.push(buffer)
readable.push(null)
Run Code Online (Sandbox Code Playgroud)

这些似乎都不起作用。Slack API 只是给了我一个无效的表单数据响应 如果我通过邮递员上传它可以工作

PS:我必须使用 nodejs 服务器而不是浏览器发送 axios 请求