我收到来自客户端的 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 请求
| 归档时间: |
|
| 查看次数: |
4948 次 |
| 最近记录: |