- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有这个错误信息:
(node:11976) DeprecationWarning: GridStore is deprecated, and will be removed in a future version. Please use GridFSBucket instead
conn.once("open", () => {
// Init stream
gfs = Grid(conn.db, mongoose.mongo);
//gfs = new mongoose.mongo.GridFSBucket(conn.db);
gfs.collection("user_images");
});
var storageImage = new GridFsStorage({
url: dbURI,
options: { useNewUrlParser: true, useUnifiedTopology: true },
file: (req, file) => {
return new Promise((resolve, reject) => {
crypto.randomBytes(16, (err, buf) => {
if (err) {
return reject(err);
}
const filename = buf.toString("hex") + path.extname(file.originalname);
const fileInfo = {
filename: filename,
bucketName: "user_images"
};
resolve(fileInfo);
});
});
}
});
const uploadImage = multer({ storage: storageImage });
const uploadImage = multer({ storage: storageImage });
router.get("/image/:filename", (req, res) => {
gfs.files.findOne({ filename: req.params.filename }, (err, file) => {
if (!file || file.length === 0) {
return res.status(404).json({
err: "No file exists"
});
}
if (file.contentType === "image/jpeg" || file.contentType === "image/png") {
const readstream = gfs.createReadStream(file.filename);
//const readstream = gridFSBucket.openUploadStream(file.filename);
readstream.pipe(res);
} else {
res.status(404).json({
err: "Not an image"
});
}
});
});
最佳答案
聚会迟到了,但由于我偶然发现了同样的问题,而现有的答案并没有解决问题,我将继续发布我的发现,以防其他人在 future 偶然发现同样的问题:
// Old Way:
const conn = mongoose.createConnection(youConnectionURI);
const gfs = require('gridfs-store')(conn.db);
gfs.collection('yourBucketName');
// New Way:
const conn = mongoose.createConnection(youConnectionURI);
const gridFSBucket = new mongoose.mongo.GridFSBucket(conn.db, {bucketName: 'yourBucketName'});
有关如何使用
GridFSBucket 执行
CRUD 操作 的更多信息,请查看
this page 和
this page 。
关于node.js - 如何将 gridStore 替换为 gridFSBucket?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59717140/
我有这个错误信息: (node:11976) DeprecationWarning: GridStore is deprecated, and will be removed in a future
我可以使用 GridFSBucket 的 openDownloadStream 上传文件,并看到该文件已上传并在ongs.files block 下可见。但由于某种原因,在尝试下载时出现以下错误 -
我正在使用 GridFS 将文件添加到我的 MongoDB 数据库中。这些文件附有元数据。我现在想修改其中一个文件的元数据。我正在使用 3.9 版 java 驱动程序。 我正在使用 GridFSBuc
在doc ,它说: GridFS.put() Put data in GridFS as a new file. 和 GridFSBucket.upload_from_stream() Uploads
我正在尝试删除 .files 和 .chunk 数据,但我发现的所有帖子要么已过时,要么不适用于我的问题。 这是我的后端路由: const mongoose = require("mongoose")
我正在使用nodejs、mongodb 和gridfsbucket。 我正在将一个文件以 255 字节 block 的形式接收到我的服务器中,这些文件可能非常大,因此创建一个变量来存储这些 block
我是一名优秀的程序员,十分优秀!