在Nodejs / Express中上传图像的最简单方法是什么

时间:2016-02-09 10:16:01

标签: javascript node.js mongodb express

我有一个表单,用户可以通过该表单上传图像。我想通过nodejs上传它,保存在DB(mongodb)中并显示回模板(EJS)。

我读到了关于gridFS的内容,但我正在寻找最简单的上传图片方式。

EJS:

var prices = new Array();

$(".price").each(function(key, val){
   var price = $(this).text();
   prices.push(price);
   alert(price);
});

1 个答案:

答案 0 :(得分:2)

要在node.js中上传图片,您只需使用 base64 编码,然后插入MongoDb。

在检索时,您可以获取 base64 编码图像并将其转换为图像格式。

<input type="file" id="fileinput" name ="image" multiple="multiple" accept="image/*" />

首先将图像转换为base64并保存到数据库中:

router.post('/upload',function(req,res){
var base64ToBuffer = new Buffer(req.image, 'base64');//Convert to base64

//Write your insertcode of MongoDb

res.end("Image uploaded Successfully"); 
});

之后显示图像,你可以写另一个路由器:

router.get('/showImage', function(req, res) {
    // Write code to retrieve image base64 code
    var imageBase64;
    render image to jade template
})