我正在使用Express、Node.js和Mongodb创建网页,用于上传和显示图像文件。
我使用模式将图像的二进制保存在mongodb中。
这是我的一点代码,在index.js和db.js中。
var Post = mongoose.Schema({
image: {data: Buffer, contentType: String}
});
var post= new Post({ });
post.image.data=fs.readFileSync(req.file.path);
post.image.contentType='image/png';
以下是我提交图像文件并搜索帖子以及其图像字段后Mongo Shell的部分内容:
"image: {"data:BinData(0,"iVBORw0KGgoAAAANSUhEUE....(I
just cut off the rest of the code.. cuz it was too long)
rkJggg=="),
"contentType" : "image/png" }
看起来似乎已经成功地将图像文件的二进制数据保存在mogngodb中,
但我的问题是如何使用二进制数据在网页上显示图像。我该如何将二进制缓冲区数据转换为创建图像标签?
<img src= "data:{{image.contentType}};base64,{{image.data}}">
我尝试了这个,但是出现了错误:
Failed to load resource: net::ERR_INVALID_URL
你们能告诉我如何解决这个问题吗?非常感谢你们的帮助 :(((