Редактиране:Този код работи за мен. Може би грешката се появява по-късно.
var fs = require("fs");
var image = "+MZScHeJQ9Cz5dfxnEmIMHWMZyZYnYx8Rrhj0HbtfGUanv5w3UHUyADbiGsKJxeM1yV4uGwBS7cYlAec1w0AX6xg2A1O854UF8OS6PAP1MtzkeFnrNlD41U8XFeGrp1fn3jRMUs8sqS61umSS2rR2NDhppjZ4OvnOWBAq6X+sQNkhKkfZOdYsZOpz8fWIQb6wQ/GchVCgfZko4PMDg1DSumausG6o+2E6wKLLjKReUaHEQXKJV8h85XEKN4p/WEBvTHmmJ/IN178YJVgrGmfOScAuBPp+sggGA7/wC1kgbDiacbGABOcCLHVRpMuBQh5Xn4xqARF03pwkJT23LhxGLiSGp8mCVWDrzPf3iwp4C3nDSg2VUfNwgDvm6vrIiFJvp8ZHIdjoFx8BX0OH0+8TVii3GAKKc2kjz7dYqUCdsuMOm2hrr+h//Z";
var bitmap = new Buffer(image, 'base64');
fs.writeFileSync("images/example.jpg", bitmap);
Ако казахте
console.log(req.body.profile_image)
вместо
console.log(typeof req.body.profile_image)
Това би прехвърлило всички данни в req.body.profile_image към низ преди отпечатване. Възможно е просто да сте забравили „typeof“, когато коментирате, но ако не сте добавили „typeof“, не можете да сте сигурни, че съдържа низ. Има повече от един конструктор за буфериране и той може да използва грешния.
За lolz опитайте:
Buffer.from(String.fromCharCode.apply(null, new Uint16Array(req.body.profile_image)), "base64")
Какво се присвоява на req.body.profile_image?
Първият аргумент за writeFileSync е низ, така че не може да е причина за типовата грешка. Можете ли да бъдете по-конкретни какво се съдържа в req.body.profile_image?
Като странична бележка, въпреки че смятам, че това не е свързано с вашия проблем, създаването на буфер с ключовата дума „new“ е отхвърлено .Може би с помощта на Buffer.from(...) ще ви насочи към решение.