6

I am receiving a base64 encoded image from the client (as a screenshot) and would like to upload it to another server using multipart encoding

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

I've tried a lot here Converting it to a buffer

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

Converting the buffer into a readable stream

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

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

None of these seem to work. Slack API simply gives me a invalid form data response It works if i upload via postman

PS: I have to send axios request using the nodejs server, not browser

SoWhat
  • 5,564
  • 2
  • 28
  • 59
  • 1
    possible duplicate https://stackoverflow.com/questions/16245767/creating-a-blob-from-a-base64-string-in-javascript – Maielo Jan 04 '19 at 11:04

0 Answers0