问题标签 [multer-gridfs-storage]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
2276 浏览

node.js - 如何将猫鼬模型与 Gridfs 集成并关联其他字段,如 req.body.name 和描述之类的东西

我正在尝试创建一个照片应用程序,该应用程序存储 jpeg 和 png 等图像以及标题、描述等一些细节。我遵循了 brad traversy 的 GridFS 教程,我无法将我的猫鼬模型与 gridfs 代码相关联。

用于将数据发布到 gridfs 集合中的代码

0 投票
1 回答
758 浏览

mongodb - 使用express在mongodb中插入带有表单数据的文件

我试图将 .mp4 文件与其他一些信息一起上传到我的 mongodb 数据库。我可以使用 multer 和 gridfs 保存文件。我为此使用的代码:

为了将文件数据上传到数据库中,我正在这样做:

两个部分都运行良好,但我只需要对 addVideo 提出一个请求。在 addVideo 中,名称应与保存它的视频名称相同。我不知道如何合并此功能的两个代码。谢谢你。

0 投票
0 回答
120 浏览

node.js - 使用gridfs上传数组时如何设置自定义字段

我正在使用 gridfs 上传一组图像。我需要设置一个自定义字段,以便能够按照它们在应用程序中的组织顺序来获取图像。

我不能简单地排序,uploadDate因为根据图像的大小,上传可能需要或多或少的时间。

控制器:

我查看了文档 - files.metadata但仍然无法找到任何解决方案如何设置自定义字段。

0 投票
2 回答
1394 浏览

node.js - TypeError: storage._handleFile 不是函数

这是我使用 multer-gridfs-storage 上传图片时的错误截图

我想使用 nodejs 和 mongoose 作为 ORM 从 mongodb 数据库中检索图像。当我尝试从数据库中检索图像时出现此错误。我使用 multer-gridfs-storage 将图像存储到 mongodb

0 投票
1 回答
1215 浏览

javascript - 使用 GridFS 创建多个存储桶

我正在使用 express 和 node 中的 GridFS 库。我正在尝试创建多个存储桶。例如,我已经有一个名为 avatars 的存储桶,用于存储图像。

我现在想创建另一个名为 audio 的存储桶来存储 mp3 文件。我在https://docs.mongodb.com/manual/core/gridfs/检查了 GridFS 的文档,它指出“您可以选择不同的存储桶名称,以及在单个数据库中创建多个存储桶。” 但是,它没有提供任何见解或步骤。有没有人使用过 GridFS 库并知道如何创建多个存储桶?

0 投票
1 回答
1360 浏览

mongoose - 在nestjs中使用multer-gridfs流

我正在尝试在 nestjs 中显式使用 multer-gridfs-storage 中间件。我想存储一个文件并使用 gridfs-stream 包检索它。但没有什么对我有用。我无法用文件本身填充请求。每当我尝试打印请求对象时,它都没有与 req.file 或缓冲区元素相关的任何内容。而且我不确定如何使用 multer 获取文件后如何处理该文件。

这是示例控制器方法

这是文件存储服务。我还没有实现 multerStorage,因为我没有从控制器得到任何东西(req.file 是空的)

我什至尝试创建一个单独的中间件,但它也不起作用

注意:我包含了中间件并在模块中使用它。我可以看到中间件中的日志,但看不到多格式部分数据

以下是“邮递员”工具的详细信息(使用 3002 作为端口,使用“开发”作为上下文路径

在此处输入图像描述

这是我使用 gridfs-stream 模块遵循的过程,从本地文件夹中获取示例文件并将其存储在 gridfs 中并且它工作。

但是有一个警告我认为 gridfs 默认使用 GridStore 并尝试将其存储在集合中

DeprecationWarning:GridStore 已被弃用,将在未来版本中删除。请改用 GridFSBucket (node:29332) DeprecationWarning: collection.ensureIndex 已弃用。请改用 createIndexes。(节点:29332)DeprecationWarning:collection.save 已弃用。请改用 insertOne、insertMany、updateOne 或 updateMany。

因此想要使用 multer-gridfs-storage,它默认使用 GridFSStorage

以防万一,这里是版本详细信息

编辑:这是出于学习目的,并希望深入了解如何在 nestjs 中处理 express 中间件。我知道 Nestjs 有类似 FileInterceptor 的东西来处理文件,但想获得更多关于这个的信息

另外我想问一下 multer-gridfs-storage 是如何使用 gridfs-stream 来存储文件的,有没有规定在 multer-gridfs-storage 中应该使用什么样的流?

0 投票
1 回答
963 浏览

node.js - 在 ReactJS 上使用 Multer 从 MongoDB 显示图像的问题

基本上总结一下我的问题:我有一些图像要显示,它显示在 localhost:5000 上,状态为 200,我的 Express 服务器正在运行,当涉及到 localhost:3000 即我的 React 开发服务器时,我使用 Axios 和它确实给了我胡言乱语,我根本不知道如何处理它。

反应代码:

快递代码:

随机乱码:

0 投票
2 回答
1684 浏览

javascript - 通过 request.body 将元数据添加到 GridFS 文件

我在这里尝试动态更新metadata导出的 Multer GridFS 模块中的属性时遇到了一些困难。该模块包含一个“上传引擎”,用于处理将文件上传到我的数据库。这是multer-gridfs-storage图书馆。

这是我的 GridFs 上传模块gridFs_upload_engine.js

上面的metadata属性是我需要更改的。此fileinfo对象GridFs在上传时添加到每个文件。该req参数是我认为可以访问req.body调用此中间件的路由的位置,但它以undefined.

这是我的测试路线:

这是我将GridFs中间件传递到我的 API 路由的地方。这让控制器可以利用它。

这是我的upload controller

console.log按预期注销使用GridFs上传引擎上传的文件的信息。

我知道我需要以某种方式将参数传递给gridFs_upload_engine.js某种方式。由于这个文件是一个导出的模块,我不完全确定如何完成这个。我可以将这段代码直接放入我的 API 控制器并以这种方式进行,但我希望它是一个可以从其他控制器调用的模块。

0 投票
1 回答
875 浏览

express - 连接gridfs multer和mongodb时缺少db参数错误

我正在使用gridfs和mutler将ppt pdf等文件上传到mongodb atlas。设置路由器时,它一直说找不到 db 我在配置文件中有我的 uri。我在 mongodb atlas 中缺少什么我在名为“test”的数据库中有 3 个集合我必须在集群中创建另一个 db 吗?请帮忙

if (!db) throw new Error('缺少 db 参数\nnew Grid(db, mongo)'); ^

错误:在新网格 (/Users/ezana/Desktop/Canvas/backend/node_modules/gridfs-stream/lib/index.js:25:18) 在网格 (/Users/ezana) 处缺少 db 参数新网格 (db, mongo) /Desktop/Canvas/backend/node_modules/gridfs-stream/lib/index.js:19:12)在对象。(/Users/ezana/Desktop/Canvas/backend/api/routes/fileUploadRoutes.js:9:11) 在 Object.Module._extensions 的 Module._compile (internal/modules/cjs/loader.js:701:30)。 .js (internal/modules/cjs/loader.js:712:10) 在 Module.load (internal/modules/cjs/loader.js:600:32) 在 tryModuleLoad (internal/modules/cjs/loader.js:539 :12) 在 Function.Module._load (internal/modules/cjs/loader.js:531:3) 在 Module.require (internal/modules/cjs/loader.js:637:17) 在 require (internal/modules/ cjs/helpers.js:22:18) 在对象。(/Users/ezana/Desktop/Canvas/backend/app.js:7:

0 投票
1 回答
994 浏览

javascript - 当需要路径或链接时将 pdf 文件传递​​给函数

我正在为一个在线图书馆开发一个网络应用程序。我想从将要上传的 PDF 中提取元数据,为此我使用 nodejs 库 pdf.js-extract 和 multer-gridfs-storage 进行上传。问题是我收到一个 PDF 文件 ( req.file) 并且该函数需要 PDF 文件的路径或链接,因此显示错误

我想知道是否有办法将文件作为链接传递、临时在本地保存文件或找到另一个适合我需要的库。

这是我当前的代码。

(编辑澄清)我正在使用带有gridFS的multer将文件上传到mongoose。

受 Oliver Nybo 启发的解决方案