new Buffer.from(fs.readFileSync('file.png'), 'base64')
});
Image.save(function(err){
if(err) throw err;
});
app.get('/test.png', function (req, res) {
Photo.findOne({test:"123"})
.exec(function(err, Image) {
res.set({'Content-Type': 'image/png'});
res.send(Image.data); //Error
})
});
Как из Buffer в Mongoose отправить фото?
Buffer.from устарело если что
Наоборот )
Что юзать вместо?
А да, я решил проблему. В дату попросту пихаю fs.read. Buffer.from не нужен.
function toBuffer(ab, x, id) { let buf = Buffer.alloc(ab.byteLength+9); let view = new Uint8Array(ab.length+9); view.set([2],0) view.set([x],8) view.set(ab,9) for (var i = 0; i < buf.length; ++i) { buf[i] = view[i]; } buf.writeInt32BE(id, 1, 4); return buf; }
Миленько.)) Но мне не особо и нужно теперь, хе.
Не понятно? Ну это работа с битами на низком уровне
Не, вполне себе понимаю.
А да, пробовал вызывать C из ноды? Я просто капался в хэшах и увидел вызовы C.
Не пробовал но можно
да не устарел buffer.from
Node.js может быть запущен с помощью флага командной строки - - zero-fill-buffers чтобы заставить все нововыделенные буферы и экземпляры SlowBuffer, созданные посредством new Buffer(size) или new SlowBuffer(size) автоматически обнулиться перед созданием. Использование этого флага изменяет поведение по умолчанию этих методов и может оказать существенное влияние на производительность. Использование - -zero-fill-buffers рекомендуется только в том случае, когда это необходимо для того, чтобы нововыделенный буфер не содержал потенциально уязвимые данные. Проблема в том тоесть что выделяемая память не форматируется нулями. Там старые данные лежат
это перевод устаревшей документации
ты взял перевод с https://js-node.ru
"or Buffer.from()" -- а ты сказал, что buffer.from устарел. ну алё
Слушаешь всякие пьяные рылы )
так я тоже уже )
Обсуждают сегодня