问题标签 [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 投票
2 回答
188 浏览

node.js - 在 MEAN 堆栈应用程序中取消文件上传

我似乎找不到任何关于如何使用 Mongo、NodeJS 和 Angular 取消文件上传的最新答案。我只遇到过一些关于如何删除文件的教程,但这不是我想要的。我希望能够通过单击前端的按钮来取消文件上传过程。

我使用 Mongoose、Multer 和 GridFSBucket 包将我的文件直接存储到 MongoDB 中。我知道我可以通过在前端取消订阅负责上传的订阅者来停止前端的文件上传过程,但是当我取消订阅时,上传过程会在后端继续进行**(是的,我有双重和三重检查。所有块不断上传,直到文件完全上传。)

这是我的角代码

这是我的NodeJS (Express) 代码

取消上传而不在数据库中留下任何块的正确方法是什么?

0 投票
1 回答
130 浏览

javascript - MongoDB 中的小图像(<4MB),我应该使用 gridFS 吗?

相当简单的问题和请求在这里,但还没有找到一个确定的答案。我是 multer、Node 和 MongoDB 的新手,这比我预期的要困难得多。

我想在 MongoDB 中存储小的 JPEG,每个可能不超过 4 MB。我知道 BSON 最大可以小于 16 MB,如果更大,则必须由 gridfs 处理。

这些图像只是我在收藏中拥有的每个 _id 的个人资料照片。到目前为止,我已经能够仅使用 multer 在本地上传文件。现在我想弄清楚如何在 MongoDB 中以正确的方式获取这些图像。

这么小的图像我需要gridfs吗?我执行此操作的最佳计划是什么?

我正在想象将文件更新插入数据库,但想知道这是否只会上传文件名而不是图像本身?我将如何更改我的“模式”以适应这种情况?如果您知道如何在下面更改我的 upsert(与进入 gridFS 相比),那将是理想的。这是代码。

数据库更新:

存储和上传:

Mongo DB 项目现在的样子:

0 投票
1 回答
28 浏览

pymongo - 是否有一种方法可以将文件存储在特定目录下的 mongo 中

我需要在 mongo 中维护一个文件系统,我需要在其中创建目录,并且文件应该放在我创建的目录中。那么python中是否有任何内置功能,或者我们如何使用GridFs来做到这一点?所以基本上随着上传文件我需要提到它需要放置的目录

0 投票
1 回答
84 浏览

node.js - 如何将 Multer 与 Express.static("public") 和 EJS 一起用作视图引擎?

我正在将 multer 与 Express 和 EJS 一起使用。我将 multer 返回的文件路径保存到我的数据库中,以进一步将路径传递给 ejs 模板。但是文件路径包括“public”文件夹,并且因为我已将默认视图引擎设置为 ejs 和 express.static("public")。由于文件路径,当在图像中的 ejs 模板中传递时,multer 返回的存储在我的数据库中的路径不可见。有什么方法可以让我的图像正确显示吗?这是我的代码:

我的文件结构:

  1. 公开>上传

    视图>main.ejs

我的 app.js 文件

// 节点应用配置

// 存储引擎

//主要获​​取方法

存储在我的数据库中的数据: 在此处输入图像描述

0 投票
1 回答
182 浏览

node.js - Multer Grid Fs 存储下载而不是快速显示视频

我正在关注 Travesy Media 关于 MongoDB gridfs 文件上传的教程。因此,当我尝试使用 readstream 在网络浏览器中显示文件时,它会下载视频而不是显示它!这是我的该功能的代码:

请帮我!我不知道如何解决这个问题!PS:这file.contentType === "image/jpg"是我尝试过的东西

0 投票
1 回答
61 浏览

node.js - Multer GridFs 存储关联 req.user 到元数据

我可以使用 multer-gridfs-storage 将文件上传到我的 MongoDB,但是我无法将文件与用户关联起来,我想要的是能够将从 passportjs 获得的 req.user 传递给文件元数据

0 投票
0 回答
55 浏览

mongodb - MulterError:意外的字段

我,我正在尝试使用 multer 和 multer gridfs 上传图像,但它给了我这个错误......请看看并建议我修复......提前谢谢。

Busboy 的 WrappedFileFilter(/home/atul/Documents/coding/project 和 practice/fb-clone-backend/node_modules/multer/index.js:40:19)中的 [MulterError: Unexpected field][1]。(/home/atul/Documents/coding/project and practice/fb-clone-backend/node_modules/multer/lib/make-middleware.js:114:7) 在 Busboy.emit (events.js:315:20) 在Busboy.emit (/home

/atul/Documents/coding/project and practice/fb-clone-backend/node_modules/busboy/lib/main.js:38:33)在 PartStream。(/home/atul/Documents/coding/project and practice/fb-clone-backend/node_modules/busboy/lib/types/multipart.js:213:13) 在 PartStream.emit (events.js:315:20) 在标头解析器。(/home/atul/Documents/coding/project 和 practice/fb-clone-backend/node_modules/dicer/lib/Dicer.js:51:16) 在 HeaderParser.emit (events.js:315:20) 在 HeaderParser。 _finish (/home/atul/Documents/coding/project and practice/fb-clone-backend/node_modules/dicer/lib/HeaderParser.js:68:8) 在 SBMH。(/home/atul/Documents/coding/project and practice/fb-clone-backend/node_modules/dicer/lib/HeaderParser.js:40:12) 在 SBMH.emit (events.js:315:20) 在 SBMH。 _sbmh_feed (/home/atul/Documents/coding/project and practice/fb-clone-backend/node_modules/streamsearch/lib/sbmh.js:159: 14) 在 SBMH.push (/home/atul/Documents/coding/project and practice/fb-clone-backend/node_modules/streamsearch/lib/sbmh.js:56:14) 在 HeaderParser.push (/home/atul/ Documents/coding/project and practice/fb-clone-backend/node_modules/dicer/lib/HeaderParser.js:46:19) 在 Dicer._oninfo (/home/atul/Documents/coding/project and practice/fb-clone- backend/node_modules/dicer/lib/Dicer.js:197:25)在 SBMH。(/home/atul/Documents/coding/project and practice/fb-clone-backend/node_modules/dicer/lib/Dicer.js:127:10) _oninfo(/home/atul/Documents/coding/project and practice/fb-clone-backend/node_modules/dicer/lib/Dicer.js:197:25)在 SBMH。(/home/atul/Documents/coding/project and practice/fb-clone-backend/node_modules/dicer/lib/Dicer.js:127:10) _oninfo(/home/atul/Documents/coding/project and practice/fb-clone-backend/node_modules/dicer/lib/Dicer.js:197:25)在 SBMH。(/home/atul/Documents/coding/project and practice/fb-clone-backend/node_modules/dicer/lib/Dicer.js:127:10)

0 投票
0 回答
67 浏览

node.js - 如何使用gridfs nodeJS调整图像大小并存储不同的sizet?

我是 mongoDB 和 gridfs 的初学者。我有一个在数据库中保存传入图像的代码。但我想在保存之前调整图像大小。它试图使用sharp,但我真的不明白它是如何工作的。

我尝试了以下代码,但它不起作用

0 投票
0 回答
150 浏览

node.js - 系统设计 - 简单的文件共享应用程序 - NodeJS、Express、Mongoose

我正在尝试将具有多个用户的一对多文件共享网站作为个人项目。这个想法是让一个用户 A 能够将 PDF 文件上传给另一个用户 B,用户 B 可以下载该文件。

我已经创建了具有用户权限的登录系统,所有用户凭据都保存在 mongoDb 的集合中,但我不知道如何实现上述文件共享系统。任何建议/帮助将不胜感激。谢谢。

0 投票
1 回答
419 浏览

reactjs - 通过 axios get 请求在前端显示音频文件。Nodejs Reactjs Mongodb , multer , Gridfs

我使用 mongodb 、 gridfs 、 multer 来存储音频文件。并且需要通过axios在reactjs前端显示音频文件。

在前端显示音频文件

这是文件请求

在邮递员中,它显示了一个音频文件,并且工作正常。我需要在前端显示它。

在此处检查 Postman 响应 ss

谢谢你。