Я делаю небольшое приложение в sails.js
, и мне нужно хранить изображения в базе данных. Для этого мне нужно преобразовать изображение в URL-адрес с кодировкой base64, чтобы я мог сохранить его как строку в моделях моих парусов. Однако я не знаю, как преобразовать его в эту форму. Все более старые вопросы задавали вопрос о преобразовании изображения в URL-адреса данных с кодировкой base64, и они отвечают на это, делая это на стороне клиента. Тем не менее, я хочу сделать это на стороне сервера, пока я получаю изображение через почтовый запрос. Как я могу достичь этого?
Как преобразовать изображение в URL-адрес с кодировкой base64 в sails.js или, как правило, на стороне сервера JavaScript?
Ответ 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");