问题标签 [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 回答
861 浏览

javascript - 从 mongodb 以 HTML 格式显示检索到的图像

我想在 HTML 中显示从 mongodb 检索到的图像。

我的控制台数据是:

{originalname:“dhoni.jpg”,文件名:“file-1558517416483。”,contentType:“image/jpeg”} contentType:“image/jpeg”文件名:“file-1558517416483。” 原始名称:“dhoni.jpg” 原型:对象

这是我的控制台输出数据。我想在我的 HTML 中显示图像。我怎样才能做到这一点。

如何获取图像并显示在我的 html 页面中。

0 投票
1 回答
105 浏览

mongodb - Handlebars Form no run Mongodb delete function - typeError gfs.deleteOne

下面的表单使用 handlelebars (.hbs) 引擎和 multer-gridfs-storage (Mongodb FIles) 将图像/文件发送到 Mongodb,但单击删除会产生以下错误:

类型错误:gfs.deleteOne 不是函数

此外,它不会加载所附照片的缩略图

Ps:我认为错误是HBS形式。

完整代码: https ://github.com/rebek/upFileHBS

0 投票
1 回答
547 浏览

mongoose - 与 Mongoose Schema 关联的 Multer GridFS 存储文件上传

我可以使用 multer-gridfs-storage 将文件上传到我的 MongoDB,但我无法将文件与我的“客户”模式相关联。基本上,每个客户都应该拥有三种类型的文件:网络、电子邮件和密码文件。每个文件都是一个 .txt。我的最终目标是为每个客户提供一个展示页面,并能够通过 :id 找到客户,然后填充客户的三个文件。

0 投票
0 回答
1435 浏览

node.js - 文件上传 React Native、Node JS、MongoDB、Multer、Grid FS

我对 React Native 开发非常陌生。从过去的两天开始,我一直在努力破解使用 React Native 到 MongoDB(Grid FS)的文件/图像上传。我从字面上阅读了所有相关的论坛,但没有运气。我阅读了几个论坛,他们给出了一个示例,但我没有成功。这是我编写的示例代码。

客户端 JS(反应原生):

下面是使用 Multer 处理将文件存储在 MongoDB 中的服务器 JS 文件。

此外,这是我正在使用的服务器 package.json 文件。

我没有得到任何异常,但文件没有存储到 mongoDB 中。看起来 Multer 没有从请求中提取文件。当我使用 POSTMAN 进行测试时,我的服务器代码正在运行,但它不适用于 React Native。

我从反应原生调试器中捕获了示例请求和响应。

在此处输入图像描述

此外,这是来自服务器的失败请求日志(来自 react Native)。

如果我们观察请求正文,我们将得到一个对象。

这是通过 POSTMAN 捕获的服务器请求(它是一个成功的请求)。

如果我们观察到两个请求文件对象都作为一个单独的部分通过 POSTMAN 出现,而​​不是 react native 的情况。谁能帮我解决这个问题。?为什么它不能与 React-Native 一起使用。?我卡在这里。请帮我解决这个问题。?

谢谢和问候, Amar.T

0 投票
1 回答
238 浏览

node.js - 如何将中间件移动到服务层

我正在尝试将中间件功能移动到服务层,但运行时出现错误。我什至不确定我是否遵循正确的分层。

错误:

** Route.post() 需要一个回调函数,但得到了一个 [object Object]**

文件.service.ts

文件.controller.ts

0 投票
2 回答
587 浏览

node.js - Kendo UI Angular 将文件作为 Node.JS 上传到后端

我正在使用 Kendo Upload Control 将文件上传到使用 GridFS multer 的 Node.js 后端。

但是 node.js API 没有接收请求。我[saveField]="file"用来传递上传的文件和下面的node.js。

日志

2019-07-21T19:34:33.679205+00:00 app[web.1]:文件控制器 2019-07-21T19:34:33.680436+00:00 app[web.1]:{} 2019-07-21T19: 34:33.983631+00:00 app[web.1]: MulterError: Unexpected field 2019-07-21T19:34:33.983647+00:00 app[web.1]: at WrappedFileFilter (/app/node_modules/multer/index. js:40:19) 2019-07-21T19:34:33.983649+00:00 app[web.1]: 在 Busboy。(/app/node_modules/multer/lib/make-middleware.js:114:7) 2019-07-21T19:34:33.983650+00:00 app[web.1]: 在 Busboy.emit (events.js:198 :13) 2019-07-21T19:34:33.983670+00:00 app[web.1]: 在 Busboy.emit (/app/node_modules/busboy/lib/main.js:38:33) 2019-07-21T19 :34:33.983671+00:00 app[web.1]: 在 PartStream。(/app/node_modules/busboy/lib/types/multipart.js:213:13) 2019-07-21T19:34:33.983673+00:00 app[web.1]: 在 PartStream.emit (events.js:198 :13) 2019-07-21T19:34:33.983674+00:00 应用 [web.1]: 在 HeaderParser。(/app/node_modules/dicer/lib/Dicer.js:51:16) 2019-07-21T19:34:33.983675+00:00 app[web.1]: 在 HeaderParser.emit (events.js:198:13 ) 2019-07-21T19:34:33.983677+00:00 app[web.1]: 在 HeaderParser._finish (/app/node_modules/dicer/lib/HeaderParser.js:68:8) 2019-07-21T19:34 :33.983678+00:00 app[web.1]: 在 SBMH。(/app/node_modules/dicer/lib/HeaderParser.js:40:12) 2019-07-21T19:34:33.983679+00:00 app[web.1]: 在 SBMH.emit (events.js:198:13 ) 2019-07-21T19:34:33.983680+00:00 app[web.1]: 在 SBMH._sbmh_feed (/app/node_modules/streamsearch/lib/sbmh.js:159:14) 2019-07-21T19:34 :33.983682+00:00 app[web.1]: 在 SBMH.push (/app/node_modules/streamsearch/lib/sbmh.js:56:14) 2019-07-21T19:34:33.983683+00:00 app[ web.1]:在 HeaderParser.push (/app/node_modules/dicer/lib/HeaderParser.js:46:19) 2019-07-21T19:34:33.983685+00: 00 应用程序 [web.1]:在 Dicer._oninfo (/app/node_modules/dicer/lib/Dicer.js:197:25) 2019-07-21T19:34:33.983686+00:00 应用程序 [web.1]:在 SBMH。(/app/node_modules/dicer/lib/Dicer.js:127:10) 2019-07-21T19:34:33.989908+00:00 heroku[路由器]: at=info method=POST path="/v1/file/上传“主机=herokuapp.com request_id=aa1010df-d244-46bc-9b36-f8e437d5ad2a fwd="80.233.46.84" dyno=web.1 连接=0ms 服务=312ms 状态=500 字节=286 协议=https

0 投票
1 回答
981 浏览

node.js - 无法将文件上传到 MongoDb

我正在尝试使用 multer 和 multer-grid-fs-storage 将 .zip 文件上传到 MongoDb Atlas。

它编译得很好,但是没有任何东西上传到我的集群。

我尝试将文件保存到磁盘存储并直接发送到 MongoDB,但都没有工作。

我正在测试失眠症。请求状态为 200(正常),但没有上传任何内容。当我 console.log req.file 它说未定义,当我记录 req.body 它记录一个空对象(即 {})。

  • 这是我的 index.js 文件,需要并使用路由和数据库连接:
  • 这是我的文件控制器模块:
  • 这是我的路由器
  • 这是我的 MongoDb 连接模块

注释掉的multer存储对象是我也试过的磁盘存储。两者都没有工作

0 投票
1 回答
1558 浏览

node.js - 如何使用 multer gridfs 存储删除文件?

以下代码按预期工作以上传和检索文件:

但是,当我调用下面的代码按 ID 删除文件时:

我在邮递员中收到此错误:

谁能指出我需要去哪里?我尝试使用 delete 方法而不是 post,甚至指定了文件的根目录,但发生了同样的错误。谢谢!

0 投票
1 回答
367 浏览

node.js - mongoDB中的弃用错误,我应该在哪里传递参数?

我正在使用 mongoDB 存储 2 个文件,并收到这些消息:

DeprecationWarning:当前的 URL 字符串解析器已被弃用,并将在未来的版本中删除。要使用新的解析器,请将选项 { useNewUrlParser: true } 传递给 MongoClient.connect。

DeprecationWarning:当前的服务器发现和监控引擎已被弃用,并将在未来的版本中删除。要使用新的服务器发现和监控引擎,请将选项 { useUnifiedTopology: true } 传递给 MongoClient 构造函数。

这是我的代码,我不知道应该将这些选项传递给:

0 投票
1 回答
729 浏览

javascript - 使用 multer 将文件上传到 mongodb 数据库

我无法将文件上传到数据库。维护我的文件结构对我来说很重要。这是我的文件结构: 服务器:服务器结构 在这种情况下最重要的苍蝇:

server.js:

模型/文件.js

routes/api/files.js(这里的post方法是最大的问题)

客户:客户结构

为了不让它太复杂,我将添加组件(使用 reactsrap):

SliderModal.js

这是我的代码的 结果:来自 atlas 集群的结果

我只有这个路径和 ID 名称,但我希望所有文件都上传到数据库并显示在我的页面上。该用户和项目集合工作得非常好。我认为最重要的是:routes/api/files.js 和 models/File.js 文件。