Gravando dados binários usando node.js fs.writeFile para criar um arquivo de imagem
Estou tentando escrever dados de tela com node.jsfs.writeFile
como um binário. Arquivo JPEG, mas depois que o arquivo foi gravado, vejo que o arquivo é armazenado como texto sem formatação, não como dados binários.
Este é um exemplo dodata
enviado do cliente para o meu nó, representando os dados da imagem JPEG (apenas alguns primeiros caracteres):
/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAFA3PEY8MlBGQUZaVVBfeM...
Eu estou entendendo issodata
no lado do cliente executando:
canvas.toDataURL('image/jpeg', 0.5).replace('data:image/jpeg;base64,', '')
Aqui está o uso da função no meuservidor node.js:
fs.writeFile('../some.jpeg', data, 'binary', function(err){});
Em vez de o arquivo ser gravado como binário (״״ JFIF ...
), ele grava exatamente os dados que recebeu do cliente.
O que eu estou fazendo errado aqui?