IwanQ
@IwanQ
Плохие времена часто дают прекрасные возможности

Как преобразовать base64 в buffer?

Доброго времени суток. Столкнулся со следующей проблемой.

Нужно получить картинку в base64, далее преобразовать ее в буфер для последующего получения информации с помощью пакета file-type.

При получении base64 картинки я преобразую ее в буфер следующим образом:
Buffer.from('base64here');

Получившиеся значение передаю пакету file-type
await FileType.fromBuffer('bufferhere');

Но получаю undefined.

Подскажите пожалуйста, что я делаю не правильно?
  • Вопрос задан
  • 570 просмотров
Пригласить эксперта
Ответы на вопрос 1
IwanQ
@IwanQ Автор вопроса
Плохие времена часто дают прекрасные возможности
Решение:

const decodeBase64Img = (base64String) => {
    const matches = base64String.match(/^data:([A-Za-z-+/]+);base64,(.+)$/),
      obj = {};

    if (matches.length !== 3) {
      return new Error('Invalid input string');
    }

    const [, extension, base64] = matches;

    obj.type = extension;
    obj.buffer = Buffer.from(base64, 'base64');

    return obj;
    // Based on: https://stackoverflow.com/Questions/20267939/Nodejs-Write-Base64-Image-File
  };


await FileType.fromBuffer(decodeBase64Img('base64').buffer);
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы