gpt4 book ai didi

node.js - Mongoose 模型 - 包括 GridFS 图像引用

转载 作者:太空宇宙 更新时间:2023-11-03 22:37:23 24 4
gpt4 key购买 nike

我正在尝试学习如何使用 GridFS (MongoDB)、Mongoose 和 Express。我的目标是收到带有表单数据(包括 SVG 和 JSON)的 POST。我有以下模型:

var postSchema = mongoose.Schema({
title: String,
img: { data: Buffer, contentType: String }
})
var Post = mongoose.model('Post', postSchema);

我认为使用 GridFS streaming library 会比较方便。 。这是我认为应该发生的事情:

//What to do here?
app.post('/upload', function(req, res, next) {
var post = new Post;
post.img.data = fs.readFileSync(req.files.image);//Can I do this?
post.img.contentType = 'image/svg+xml';
post.title = req.title;
var writestream = gfs.createWriteStream([options]);
fs.createReadStream('/some/path').pipe(writestream);
post.save();
});

这就是我陷入困境的地方。我需要从 POST 读取图像(我现在专注于 SVG),以某种方式将其连接到我的模型,然后保存该模型并将图像保存到 gridFS。我走在正确的道路上吗?

最佳答案

我想出了一个更好的方法来做到这一点。我使用的 SVG 图像都在 16MB 以下(很多)。 SVG 只是一个字符串,所以它实际上很容易服务。要记住的重要一点是还要提供正确的内容标题 (img/svg+xml)。

Mongoose.js 架构

var svgPostSchema = mongoose.Schema({
img: { data: String, contentType: String }
})

关于node.js - Mongoose 模型 - 包括 GridFS 图像引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24625229/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com