GridFS 图片上传,无法从数据库中获取文件

编程入门 行业动态 更新时间:2024-10-06 16:31:00

GridFS 图片上传,无法从<a href=https://www.elefans.com/category/jswz/34/1771342.html style=数据库中获取文件"/>

GridFS 图片上传,无法从数据库中获取文件

我正在使用 GridFsStorage 和 mongoose 在 MongoDB 中上传图像文件。 现在我设法完美地上传了图片,我在数据库中检查了它是否存在,现在我想检索它并显示但不知道为什么它不起作用只在控制台中加载没有错误

附上我的 git repo 以检查link

let gfs;
conn.once("open", () => {
  // init stream
  gfs = new mongoose.mongo.GridFSBucket(conn.db, {
    bucketName: "uploads",
  });
});

// Storage
const storage = new GridFsStorage({
  url: mongoURI,
  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: "uploads",
        };
        resolve(fileInfo);
      });
    });
  },
});

const upload = multer({
  storage,
});
router.post("/upload", upload.single("file"), (req, res) => {
    res.json({file : req.file});
  });

router.get("/files", (req, res) => {
    gfs.find().toArray((err, files) => {
      // check if files
      if (!files || files.length === 0) {
        return res.status(404).json({
          err: "no files exist"
        });
      }
  
      return res.status(200).json(files);
    });
  });

再次附上我的 git repo 以检查link

回答如下:

更多推荐

GridFS 图片上传,无法从数据库中获取文件

本文发布于:2024-05-13 17:02:34,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1760202.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:数据库中   图片上传   文件   GridFS

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!