问题标签 [busboy]

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 投票
1 回答
1623 浏览

node.js - 尝试使用 nodejs 同时使用 bodyParser 和 busboy

我是一个尝试学习 nodejs 的菜鸟我的应用程序需要发布、放置和上传文件。我发现您无法使用 BodyParser 上传文件。

在我只使用 BodyParser(在应用程序级别添加它)之前,POST 和 PUT 工作正常。(当然上传没有)

我发现这篇文章 [ Migrating away from bodyParser() in Express app with busboy?

现在尝试关注这篇文章。我只是想让 POST 和 PUT 工作,然后继续上传。对于 PUT 和 POST 我都没有收到错误,但我的 req.body 是 {}

在我的 server.js 我有

在我的 router.js 中,我有(消除一些混乱)


解决方案

0 投票
1 回答
2044 浏览

javascript - 如何使用 busboy 防止 node.js Express 中的 POST 垃圾邮件?

我在这里遵循示例:https ://www.npmjs.com/package/busboy

我担心有人可能会故意使服务器过载。我想知道是否有一种方便的方法,在上传数据之前,通过测量整个 POST 正文的大小来防止垃圾邮件,而不仅仅是上传的文件。我尝试了以下方法,但显然没有用:

0 投票
1 回答
2733 浏览

node.js - 您如何通过 node.js 将上传流式传输到 S3 并向用户显示进度?

目标是:

  1. 能够从浏览器上传文件
  2. 能够将上传直接流式传输到 S3
  3. 将上传进度中继到浏览器

我花了一段时间才弄清楚这一点(并且还没有完全找到在 StackOverflow 上完成所有 3 个问题的答案)所以发布我的答案以防其他人有同样的问题。

我愿意接受更好的解决方案的建议(我的速度非常可怕)。

0 投票
2 回答
4931 浏览

postgresql - 如何使用 knex 插入 blob?

目前,我有一个使用 ng-file-upload 到另一台服务器的上传系统,这要归功于 CORS。

为了管理我的数据库,我使用 knex(迁移和种子),并且我有一个带有 bytea 列的特定表。

PostgreSQL 数据库。

为了使上传成为可能,我添加了 busboy 模块以允许 express 管理多部分请求,并且文件正在毫无问题地保存到磁盘。

但我真正想要的是把它保存在表中,在 bytea 列中,现在我在这样的任务上没有运气。

欢迎任何指导和更好的文档。

0 投票
2 回答
12963 浏览

node.js - 将 connect-multiparty 与 express.js 一起使用的正确方法?

我正在尝试将文件上传到我的服务器并使用connect-multiparty中间件从发布请求中提取它们。但是,当我在服务器上收到请求时,req.filesandreq.body对象是空的(不是 null,但node-inspector表明它们是Objects,其中没有任何内容。

这是我正在使用的代码:

server.js:

索引.html:

我在尝试使用multer,connect-busboy和时得到了类似的结果body-parser。如果这个解决方案对我有用,我会喜欢的,但它没有:http ://howtonode.org/really-simple-file-uploads

所以……在我所有失败的尝试中,唯一共同的主题就是我。;o) 任何想法我做错了什么?

0 投票
1 回答
339 浏览

javascript - Promise 和 EventEmitter 之间的 ExpressJS 明显竞争条件

我有一个 NodeJS/Express Web 应用程序,它允许用户上传一个文件,然后我使用connect- busboy 解析该文件,并使用Sequelize保存到我的数据库中。完成后,我想将用户重定向到给定页面。但是 Express 在我的 Promise 解决之前返回状态 404,即使我从未调用next(),我认为这是强制性的,以便调用中间件链中的下一个处理程序,从而导致 404。

到目前为止,这是我的代码:

我可以确认我的数据被正确保存。但是由于竞争条件,由于 Express 返回 404 状态,网页显示“无法 POST”,并且res.redirect由于在发送 404 后尝试重定向,因此设置标题时出错并失败。

谁能帮我弄清楚为什么 Express 会返回 404?

0 投票
2 回答
47 浏览

javascript - 如何在 Node.js 中处理中断的文件上传

当访问者按下 STOP、REFRESH 或 BACK 或在文件上传到我的 Node.js 服务器期间简单地关闭浏览器时,就会出现问题。服务器中会留下一些垃圾文件。

为了解决这个问题,我尝试先将上传的文件保存到一个临时目录中,并在下次访问者再次上传内容时删除这些文件。但是,显然 Node.js 锁定了上次上传的文件,从而防止它被删除。

当我停止 Node.js 服务器时,文件上的锁定将被释放,最终将被删除。

如何在不重新启动服务器的情况下删除垃圾文件?我正在使用 busboy 包。

0 投票
1 回答
946 浏览

node.js - 从 Busboy 流中计算字节数

我从 Busboy 获取文件流,然后我需要计算字节数,抓取第一行,然后将其发送到 azure 存储。它适用于最大约 25MB 的文件,但之后不计算所有字节。我不知道如何让它等待。我使用直通流只是为了在获得第一行时保存原始数据。

0 投票
1 回答
2673 浏览

node.js - 如何在处理多部分形式的文件流之前等待字段

我正在使用 SendGrid 通过电子邮件接收文件。SendGrid 解析传入的电子邮件并将文件以多部分形式发送到我设置的端点。

我不想要本地磁盘上的文件,所以我将它们直接流式传输到 Amazon S3。这很完美。

但在我可以流式传输到 S3 之前,我需要获取目标邮件地址,以便我可以计算出正确的 s3 文件夹。这是在表单帖子中名为“to”的字段中发送的。不幸的是,这个字段有时会在文件到达之后到达,因此我需要一种方法来等待目标字段,然后才能准备好接收流。

我想我可以将 onField 包装在一个 Promise 中,然后从 onFile 中等待 to-field。但是当字段在文件之后到达时,这个概念似乎将其锁定。

我是摊位流和承诺的新手。如果有人能告诉我如何做到这一点,我将不胜感激。

这是无效的伪代码:

0 投票
3 回答
1288 浏览

arrays - 从 Busboy 获取表单数组数据

如何使用busboy获取数组表单数据?

在路线:

而我的观点: