我正在制作一个小应用程序sails.js
,我需要将图像存储在数据库中.为此,我需要将图像转换为base64编码的数据URL,以便我可以将其保存为我的sails模型中的字符串.但是,我不知道如何以这种形式转换它.所有较早的问题都是关于将图像转换为base64编码的数据URL的问题,他们回答了有关在客户端进行此操作的问题.但是,我想在服务器端执行此操作,而我将通过发布请求获取图像.我怎样才能做到这一点?
它可以通过readFileSync实现,将图像路径作为第一个参数传递,将编码选项作为第二个参数传递.如下所示:
var fs = require('fs'); var imageAsBase64 = fs.readFileSync('./your-image.png', 'base64');
根据节点文档:
fs.readFileSync(path [,options])
fs.readFile()的同步版本.返回路径的内容.
如果指定了encoding选项,则此函数返回一个字符串.否则它返回一个缓冲区.
据我所知,您想将文件转换为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');
资源