Неисправность декодирования базы 64 в строку из сеанса паспорта - PullRequest
0 голосов
/ 07 июня 2019

Изображения моего продукта хранятся в виде буфера base64 на MongoDB.Это прекрасно работает, используя этот виртуальный тип ниже «productImagePath»:

productSchema.virtual('productImagePath').get(function () {
if (this.productImage != null && this.productImageType != null) {
    return `data:${this.productImageType};charset=utf-8;base64,${this.productImage.toString('base64')}`
});

Для моей корзины покупок я использую сеанс паспорта для хранения продуктов, находящихся в корзине.Теперь я знаю, что виртуальные типы не отображаются в сеансе, но я хочу, чтобы изображение продукта (в виде эскиза) было рядом с продуктом в корзине.По сути, я хочу воссоздать виртуальный тип, используя данные о продукте, которые есть в корзине.Все есть, но его нужно собрать вместе, как в коде выше.Я застрял, пытаясь получить доступ к буферу productImage в базе данных и декодировать его в toString ('base64').

Вот нам, как выглядит отладка для productImage как сеанс корзины: productImage

Я попытался воссоздать строку, как показано ниже:

var productImagePath = "data:" + this.items[id].productImageType + ";charset=utf-8;base64," + this.items[id].productImage.toString('base64');

Чтобы вставить ее в массив корзины.Я получаю сообщение об ошибке: «TypeError: Невозможно прочитать свойство« toString »из неопределенного» Затем я попытался следующее:

let data = this.items[id].productImage;
let buff = Buffer.from(data);
let base64data = buff.toString('base64');

Я получаю эту ошибку »TypeError [ERR_INVALID_ARG_TYPE]: первый аргумент должен быть одного из типаstring, Buffer, ArrayBuffer, Array или Array-like Object. Полученный тип undefined "

productImage определенно является буфером типа: (как видно на связанном изображении - слишком мало точек для встраивания реальных изображений).Почему я не могу получить доступ к этой переменной и декодировать ее?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...