Как преобразовать изображение в URL-адрес с кодировкой base64 в sails.js или, как правило, на стороне сервера JavaScript?

Я делаю небольшое приложение в sails.js, и мне нужно хранить изображения в базе данных. Для этого мне нужно преобразовать изображение в URL-адрес с кодировкой base64, чтобы я мог сохранить его как строку в моделях моих парусов. Однако я не знаю, как преобразовать его в эту форму. Все более старые вопросы задавали вопрос о преобразовании изображения в URL-адреса данных с кодировкой base64, и они отвечают на это, делая это на стороне клиента. Тем не менее, я хочу сделать это на стороне сервера, пока я получаю изображение через почтовый запрос. Как я могу достичь этого?

Ответ 1

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

var fs = require('fs');

// function to encode file data to base64 encoded string
function base64_encode(file) {
    // read binary data
    var bitmap = fs.readFileSync(file);
    // convert binary data to base64 encoded string
    return new Buffer(bitmap).toString('base64');
}

Использование:

var base64str = base64_encode('kitten.jpg');

Источник

Ответ 2

Это может быть достигнуто с помощью readFileSync, передавая путь к изображению в качестве первого параметра и параметр кодирования в качестве второго. Как показано ниже:

var fs = require('fs');

var imageAsBase64 = fs.readFileSync('./your-image.png', 'base64');

Согласно документации узла:

fs.readFileSync (путь [, параметры])

Синхронная версия fs.readFile(). Возвращает содержимое пути.

Если указана опция кодирования, то эта функция возвращает строку. В противном случае он возвращает буфер.

Ответ 3

Вот еще один простой способ, используйте его при перечислении изображений

@{
    if (item.ImageData != null)
    {
        string imageBase64 = Convert.ToBase64String(item.ImageData);
        string imageSrc = string.Format("data:image/gif;base64,{0}", imageBase64);
        <img src="@imageSrc" width="100" height="100" />
    }
}

Ответ 4

//instala via npm
npm install --save image-to-uri

//declara no codigo
const imageToUri = require('image-to-uri');

//implementa 
let imagem = imageToUri("caminho da sua imagem");