Конвертируйте изображение Base64 в необработанный двоичный файл с Node.js
Я нашел сообщения, которые близки к тому, что я ищу, но я не смог успешно реализовать то, что я хочу. Вот общий поток:
Отправить фотографию с данными о месте проведения, как данные base64Прервать префикс данных, если он существует, поэтому у меня есть только данные base64 изображенияvar base64data = venue.image.replace(/^data:image\/png;base64,|^data:image\/jpeg;base64,|^data:image\/jpg;base64,|^data:image\/bmp;base64,/, '');
Хранить данные Base64 в GridFS через MongoDB (я используюgridfstore)Затем я хотел бы получить изображение по запросу в виде необработанного файла изображения через URL.// generic images route
server.get(version+'/images/:id', function(req, res) {
gridfstore.read( req.params.id, function(error,data) {
res.writeHead(200, {
'Content-Type': 'image/jpeg',
'Content-Length': data.buffer.length
});
res.end(data.buffer);
});
});
По сути, этот метод возвращает байты Base64, хранящиеся в GridFS. Я пробовал другие методы, но они не возвращают необработанное изображение.
Я хотел бы подтянуть изображение с помощью URL-адресов, как это:
http://[localhost]/1/images/11dbcef0-257b-11e3-97d7-cbbea10abbcb
Вот скриншот трассировки браузера: