我正在尝试上传一张图片到我的mongodb数据库,但是没有保存。我的mongoose模式是这样的:
var schema = mongoose.Schema({
title: String,
picture: { data: Buffer, contentType: String }
});
我注意到另一件事,我发送了这样的图片:picture: 'C:\\fakepath\\6b512998.jpg'
,整个东西以字符串的形式到达我的服务器,之后我的数据库不会保存图片,而是只保存标题。
router.post('/post', function(req, res) {
Post.create(req.body, function(err, post) {
});
});
我在控制台上没有收到任何错误。
编辑:我认为这更多的是一个模式错误。这是表格。我不太确定是否穿中装。我怎么检查呢?对不起,我还是个新手,每天都在学习新的东西。
new.html:
<form class="imageform" action="posts" method="/post" accept="image/gif,image/jpeg">
<input type="text" name="title">
<input type="file" name="picture"><br>
<button type="submit"> Submit form </button>
</form>
发布于 2020-06-04 06:41:54
实际上,在将图像文件保存到数据库之前,您需要将其转换为另一种格式。
如果你的文件实际小于16mb,请尝试使用这个Converter,它可以将jpeg / png格式的图像转换为保存到mongodb的格式,您可以将其视为gridfs的一个简单替代方案。
https://stackoverflow.com/questions/34668010
复制