在Node.js中使用Axios发送Base64图像

时间:2019-01-04 10:24:21

标签: 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'}});

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

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

将缓冲区转换为可读流

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

console.log(buffer);
const readable = new Readable();
readable._read = function(){};
readable.push(buffer)
readable.push(null)

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

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

0 个答案:

没有答案