Как получить данные base64 от Nodejs и отобразить с помощью jquery - PullRequest
0 голосов
/ 22 марта 2020

Я использую изображения или другие файлы в моей базе данных в качестве большого двоичного объекта. Как только я получаю этот BLOB-объект, я помещаю его в буфер и преобразую в base64 следующим образом:

file = Buffer.from(blob,'binary').toString('base64');
res.send(file)

Теперь, в моем jquery:

В случае успеха после запуска почтового маршрута, я хочу получить файл:

 success: function(data){
        console.log(data)
        console.log('image uploaded and form submitted');     
      }

Но console.log показывает, что весь файл просто такой: W29iamVjdCBPYmplY3Rd

Из моего понимания буфера это всего лишь небольшое выделение памяти используется для передачи больших наборов данных по одному. Так что я думаю, что получаю только первый буфер? Как мне получить весь буфер?

1 Ответ

1 голос
/ 22 марта 2020

W29iamVjdCBPYmplY3Rd - это base64 для [object Object]

Вы должны проверить, что на самом деле является blob, это не строка данных, а объект javascript, содержащий всю строку базы данных или что-то еще.

Object.toString () вызывается при передаче в buffer.from

Я бы предложил использовать console.log(blob), и вы будете счастливы.

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