问题标签 [multer]

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 投票
5 回答
7632 浏览

node.js - 穆尔特 | 停止文件上传

我正在使用 expressjs 4.0 和 multer 来处理文件上传。

问题是,我想在文件大小超过 maxSize 变量时停止文件上传。但是 multer 无论如何都会上传文件。

有没有办法阻止这种行为。

一些示例代码:

0 投票
2 回答
5055 浏览

node.js - node.js中的文件上传错误

要在 node.js express 中上传文件,我正在使用 multer 模块。单独文件中的代码本身就像魅力一样工作。但是如果我在我的项目中放置相同的代码(一个文件中的 html 代码和另一个文件中的路由)它不起作用。

html代码:

对应的routes.js代码

单击提交后 console.log('New photo added'),打印到控制台的第一条语句未执行。浏览器只是旋转,最后说“未收到数据”。但是如果我用这两个块创建一个文件,那么它工作正常。

请告诉我我在这里缺少什么。

编辑#1 我app.post('/uploadgallerypic', function(req, res)从 routes.ejs 中删除了块以查看错误“无法 POST /uploadgallerypic”,但我没有收到此类错误,浏览器只是旋转并说没有收到数据。如果我enctype='multipart/form-data'从 html 代码中删除声明,那么我会收到确切的错误“无法发布 /uploadgallerypic”。使用有没有问题enctype='multipart/form-data'

请帮我。

0 投票
5 回答
13146 浏览

node.js - 我们可以将 multer 配置为不在本地存储文件并且仅用于使用 req.files.image.path 吗?

我的应用程序的需求如下:我将图像上传到 Cloudinary 并将图像的 url 存储在我的 mongodb 数据库中。

要将图像上传到 cloudinary,我需要提供文件路径,为此,我正在使用 multer。我使用以下语句:

app.use(multer({ dest: './uploads/'}));

我面临的问题是,每次我从本地系统将图像上传到 Cloudinary 上的数据库时,都会在“./uploads/”中创建一个本地副本。我不希望这种情况发生,因为我的图像在 Cloudinary 上。

我阅读了multer 的文档,上面写着:

Multer 接受一个选项对象,其中最基本的是 dest 属性,它告诉 Multer 将文件上传到哪里。如果省略选项对象,文件将被重命名并上传到系统的临时目录。

我无法确定该临时上传空间是否需要清理或是否已处理。我的图像上传到 Cloudinary。我使用 multer 仅用于获取:

req.files.photo.path

工作。有没有其他方法可以做同样的事情,或者是否可以配置 multer 以不将图像存储到我的本地系统?

0 投票
3 回答
7994 浏览

node.js - Nodejs Express 4 穆特 | 如果用户未授权,则停止文件上传

我正在multer用作 express4 的多部分中间件。

Express 配置为使用护照作为身份验证中间件,但如果用户未通过身份验证,我找不到阻止文件上传的方法。

我想使用 onFileUploadStart 来拒绝文件,但我找不到带有"request" object的链接,可以用它来匹配用户。

下面的代码用于配置 express vs multer:

0 投票
6 回答
31558 浏览

node.js - 如何使用 multer 在 nodejs 中设置不同的目的地?

我正在尝试使用Multer package上传任何文件。当我在server.js文件中使用以下代码时,它工作正常。

我想要的是将文件存储在不同的位置。我尝试过以下代码,但它对我不起作用。

意思是,如果我点击http://localhost:3000/api/pdf文件应该存储在“pdf”文件夹中,如果我点击http://localhost:3000/api/video文件应该存储在“视频”文件夹中。

有没有办法实现这个目标?

先感谢您。

0 投票
2 回答
3166 浏览

ajax - 文件上传失败

我正在尝试使用 Ajax 将文件上传到 Nodejs 服务器。

阿贾克斯代码:

我在节点服务器中使用 busboy,当我尝试解析请求标头以初始化 busboy 对象时,它给了我这个错误。

但是,如果我没有将内容类型设置为 multipart/form-data,那么这个请求就会被 busboy 丢弃。

我什至尝试使用 multer 包,但它也给了我同样的错误。(后来我发现它是建立在 busboy 上的。)

我什至尝试将 contentType 设置为 false。

强制 JQuery 不设置默认内容类型,但它也不起作用。

设置 contentType: 'multipart/form-data' 也不起作用,并给我同样的 'Multipart: Boundary not found' 错误。所以任何人都可以帮助我摆脱这个错误。

0 投票
1 回答
3645 浏览

node.js - Express 4:如何将文件上传到内存(例如作为 UTF-8 字符串)而不是磁盘?

我有一个 Express 4 应用程序,它需要处理用户上传的数据文件并返回一个输出。这些文件相对较小(1-2 MB),所以我想将它们直接上传到内存(例如作为 UTF-8 字符串变量)而不是将它们保存到磁盘。

到目前为止,我得到的最接近的是multer模块及其onFileUploadData事件,但我不知道如何获取数据并将其传递给单独文件中的路由处理程序。

这对 Node.js / Express 可行吗?

0 投票
2 回答
18644 浏览

node.js - 在 node.js 中读取 csv 文件的内容

我正在尝试在 nodejs 中实现一个模块(刚刚开始在 nodejs 中工作),其要求如下

  1. 上传 .csv 文件。
  2. 读取 csv 文件的内容。

目前用于 restful api 的框架是 "express": "~4.2.0" 和 multer 用于文件上传。

现在我已经在我的app.js中配置了如下所示的 multer

在我的路由文件中,我有一个如下所示的 post 端点

这条路线是从下面的 ajax 调用中调用的

现在我想获取 csv 文件的内容,即当所有内容都已加载后,我应该处理我的lead.processCSV方法。

我还需要用于 csv 文件的任何其他模块,还是 multer 在我的情况下就足够了?

任何正确方向的建议/指导都会有所帮助。提前致谢。

0 投票
0 回答
273 浏览

javascript - Angular不发布多部分数据所以快递没有收到任何东西?

我有一个带有 2 个文件和一个文本区域的表单,可以发布到使用 node.js 制作的服务器端,以处理 node/express(4.0) 上的上传部分,我使用了 multer。在处理来自角度方面的上传时,我在angular-file-upload 上进行了中继

我现在试图让 express 部分超级简单,只是为了测试它确实有效的事实

/// 节点 JS 快递

/// 角度

/// 角HTML

如果我尝试使用不涉及角度的普通表单发布,带有一个“文件”字段的简单多部分表单,nodejs/multer 获取文件并上传没有问题,但是如果我使用这种涉及 express 的场景游戏,似乎没有文件发布到服务器。

0 投票
1 回答
2907 浏览

javascript - 当我在 onFileUploadStart() 中包含逻辑时 Multer 不上传文件 - NodeJs

我正在尝试使用 multer 仅上传带有节点的图像文件

文件上传成功:

但我想将其限制为仅图像并添加一些用户身份验证(在下面的示例中尚未实现用户身份验证)。

当我启动包含 onFileUploadStart 的服务器时,它会登录到它上传的控制台,但是当我检查我的上传文件夹时,什么都没有。