我是 Node Js 的新手。我需要包含用户的个人资料图片。我从 IOS 应用程序收到 base64 图像请求。我需要将它存储在图像文件夹中并将图像路径保存在 mongodb 数据库中。
我使用了以下代码,
var bitmap = new Buffer(req.body.profile_image, 'base64');
// write buffer to file
fs.writeFileSync("images/example.jpg", bitmap);
Run Code Online (Sandbox Code Playgroud)
其中 req.body.profile_image 是 base64 图像。
我收到以下错误,
TypeError: First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.
Run Code Online (Sandbox Code Playgroud)
req.body.profile_image 值将是,
+MZScHeJQ9Cz5dfxnEmIMHWMZyZYnYx8Rrhj0HbtfGUanv5w3UHUyADbiGsKJxeM1yV4uGwBS7cYlAec1w0AX6xg2A1O854UF8OS6PAP1MtzkeFnrNlD41U8XFeGrp1fn3jRMUs8sqS61umSS2rR2NDhppjZ4OvnOWBAq6X+sQNkhKkfZOdYsZOpz8fWIQb6wQ/GchVCgfZko4PMDg1DSumausG6o+2E6wKLLjKReUaHEQXKJV8h85XEKN4p/WEBvTHmmJ/IN178YJVgrGmfOScAuBPp+sggGA7/wC1kgbDiacbGABOcCLHVRpMuBQh5Xn4xqARF03pwkJT23LhxGLiSGp8mCVWDrzPf3iwp4C3nDSg2VUfNwgDvm6vrIiFJvp8ZHIdjoFx8BX0OH0+8TVii3GAKKc2kjz7dYqUCdsuMOm2hrr+h//Z
Run Code Online (Sandbox Code Playgroud)
请帮忙。
我有一个很长的字节数组,数字从 0 到 255,并且我知道它是图像,那么如何像文件一样保存它呢?我尝试了很多事情,但都没有成功。
图像已创建,但由于已损坏而无法打开。
文件.js
function saveImage(filename, data){
//Data = [1,6,2,23,255,etc]
var wstream = fs.createWriteStream(ARTWORK_PATH+filename);
for (var i = 0; i < data.length; i++) {
wstream.write(data[i].toString('base64'));
}
wstream.end();
}
Run Code Online (Sandbox Code Playgroud)