我提出了一个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
答案 0 :(得分:2)
您不需要将缓冲区重新编码为base64。只需按原样编写二进制缓冲区即可:
fs.createWriteStream(url).write(imageBinary);