小编San*_*oon的帖子

以猫鼬模式将图像文件存储在二进制数据中,并以html形式显示图像

我正在使用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';
Run Code Online (Sandbox Code Playgroud)

这是我提交图像文件并搜索帖子后,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" } 
Run Code Online (Sandbox Code Playgroud)

因此似乎已成功将图像文件的二进制数据保存在mogngodb中,

但是我的问题是现在如何使用二进制数据在网页上显示图像。如何转换二进制缓冲区数据以创建图像标签?

<img src= "data:{{image.contentType}};base64,{{image.data}}">
Run Code Online (Sandbox Code Playgroud)

我试过了,但这给了我一个错误:

Failed to load resource: net::ERR_INVALID_URL
Run Code Online (Sandbox Code Playgroud)

你们能告诉我如何解决这个问题吗?我将非常感谢您的帮助:(((

javascript schema image mongodb express

5
推荐指数
1
解决办法
6507
查看次数

标签 统计

express ×1

image ×1

javascript ×1

mongodb ×1

schema ×1