I have created a pdf with the browser in Javascript and sent it via post to the server using this code:
var blob = pdf.output(\'blob\')
var xhr = new XMLHttp
A buffer is a literal binary representation. Just write it to a file directly without .toString()
and it should be the file you want.
e.g. to try fs.writeFileSync('some.pdf', req.body)
I do not actually recommend using writeFileSync
- instead use writeFile
which is async and needs a callback, but won't block other http requests from being accepted.
A Buffer is just a sequence of bytes without any encoding. If you expect body to look like xml when you log it out, try .toString('utf8')
on it. hex/utf8/base64 are just representations of binary. They're like a function to unpack, or pack data. In this case you want the sequence of bytes in your buffer to exist on disk as-they-are; so messing with the encoding is undesirable.