如何将图像转换为sails.js中的base64编码的数据URL,或者通常在服务器端JavaScript?

我正在sails.js做一个小应用程序,我需要将图像存储在数据库中。 为此,我需要将图像转换为base64编码的数据URL,以便将其保存为我的帆模型中的string。 但是,我不知道如何以这种forms转换它。 所有关于将图像转换为base64编码的数据URL的老问题,他们回答这个问题是关于在客户端进行的。 不过,我想在服务器端做,而我将通过发布请求获取图像。 我怎样才能做到这一点?

据我所知,你要将一个文件转换成base64编码的string。 无论文件是否是图像,这并不重要。

 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'); 

资源

它可以通过使用readFileSync实现,将图像path作为第一个parameter passing,编码选项作为第二个参数。 如下所示:

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

根据节点文档:

fs.readFileSync(path [,options])

fs.readFile()的同步版本。 返回path的内容。

如果指定了编码选项,那么这个函数返回一个string。 否则它会返回一个缓冲区。

这是另一个简单的方法,在列出图片时使用它

 @{ 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" /> } }