将二进制图像保存到文件

时间:2019-02-20 17:26:21

标签: node.js

我提出了一个returns a binary image的API请求。如何将其保存到计算机上的photo.png之类的文件中?做一些研究后,我尝试了以下方法,但是当我打开图像时,我的机器说它已损坏:

const buffer = new Buffer(imageBinary);
const b64 = buffer.toString("base64");
const path = `temp/${userId}`;
const url = path + "/photo.png";
if (!fs.existsSync(path)) fs.mkdirSync(path);
if (fs.existsSync(url)) fs.unlinkSync(url)
fs.createWriteStream(url).write(b64);
return url;

编辑:以下是二进制数据仅供参考:https://gist.github.com/AskYous/1fd26dc0eb02b4ec1672dcf5c61a34df

1 个答案:

答案 0 :(得分:2)

您不需要将缓冲区重新编码为base64。只需按原样编写二进制缓冲区即可:

fs.createWriteStream(url).write(imageBinary);