问题标签 [formidable]

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 回答
4422 浏览

node.js - 如何使用 Express 在 Node 中安全上传文件?

有很多关于 node 文件上传的文章、教程和问题,但它们大多是为初学者准备的,没有一个完全解释了如何保护生产环境中的文件上传。我一直在努力寻找如何做到这一点的完整答案,但没有成功。

下面是对我的发现的解释。

  1. 限制上传文件大小:

    /li>
  2. 将文件上传限制为仅某些路线:我无法使其实际工作,但这是我尝试过的:

    代替:

    并将多部分中间件添加到每个上传路由:

    这部分不起作用,但如果我离开,上传工作正常express.bodyParser()。那么我做错了什么?

  3. 在将上传保存到磁盘之前检查上传的文件类型:

    我无法弄清楚这部分,但一个建议是编写一个自定义中间件,该中间件使用强大的解析文件上传并尝试在保存文件之前调整文件大小(假设它是一个图像),使用像图像魔术这样的库。建议是这样可以使图像安全并确保它实际上是图像(因为如果不是图像,该过程将失败)。

    但这仅适用于图像,因此它不是一个完整的解决方案。

    我该如何实施?任何示例代码?

为了确保上传安全,我还有什么遗漏吗?

0 投票
2 回答
829 浏览

node.js - 在 node.js 中,为什么护照会话无法触发“文件”事件?

在我的应用程序中,我只使用

并不是

这样我就可以手动解析文件上传。这条线好像

停止强大的触发文件事件:

如何使用护照会话而不与强大的文件事件发生冲突?

0 投票
2 回答
9846 浏览

node.js - 在Nodejs中上传文件时强大的没有form.parse()

当我将文件发送到 /upload 时,从终端我可以看到代码在 form.parse(req... :

但是,当我这样做时,我的代码崩溃了,因为 parse 为空。

任何人都知道如何让文件上传仅在 /upload 中工作并且可能具有强大的功能?

谢谢。

这是我的app.js

这是我的代码storage.js

0 投票
1 回答
439 浏览

node.js - 建议:熨斗、强大和 aws s3

我是使用 node.js 进行服务器端编程的新手。我现在正在将一个小型 webapp 与它结合在一起,并让通常的启动学习去做。以下代码WORKS。但我很想知道从表单上传简单文件并将其放入 aws s3 是否或多或少是一种正确的方法:

注意:我必须在 union/flatiron.plugins.http 中关闭缓冲区。

我想了解的是,何时流式加载文件以及何时同步加载。这将是一个非常小的网络应用程序,流量很少。

如果它或多或少好,那么请将此视为工作代码的象征,我也会将其纳入要点。找到这类东西的文档和工作示例并不容易。我非常喜欢熨斗。但它的小模块方法导致整个网络上出现大量零散的文档和示例,仅谈教程。

0 投票
0 回答
179 浏览

node.js - 在强大的节点中取消文件上传时出错

我正在使用 Formiable-node 来上传文件。尝试取消上传时出现以下错误。

我的代码如下所示。

我也在使用https://github.com/blueimp/jQuery-File-Upload/blob/master/index.html ,它使用强大的后端之一。

谢谢。

0 投票
1 回答
2817 浏览

node.js - how can I access the uploadDir attribute of express?

In express app.js I define uploadDir = "./tmp", but how can I access it later?

0 投票
3 回答
2281 浏览

node.js - 我应该选择哪个版本的 Node.js

我计划构建一个基于 Node.js 的 Web 应用程序。按照常识,我安装了最新版本的 Node.js (v0.10.0)。还建议我使用 express.js 来避免使用低级 API。

当我尝试安装 express.js 包时,我发现它无法安装,因为缺少一些依赖项。因此,我尝试一一安装所有缺少的依赖项。除了要求 node.js 版本小于 0.9.0("node": "<0.9.0")} 的 formidable.js 之外,所有包都可以安装。我很沮丧,因为对于我的新开发,我想使用 Node.js 的最新 stalbe 版本,而不是选择一个非常早期的版本(0.9.0)。

那么,如果我仍然想使用 express.js,我真的应该将我的 node.js 回滚到早期版本(<0.9.0)吗?

0 投票
4 回答
3598 浏览

node.js - npm install formidable 在节点 0.10 中不起作用

我正在学习The Node Beginner Bookformidable中的教程,但由于版本错误而无法安装。这是错误。无论是否使用sudoand ,我似乎都会收到此错误@latest

0 投票
1 回答
2508 浏览

node.js - 在 node.js 中更改上传文件的名称

我正在使用node.js上传文件。但它会/tmp以随机的类似名称(例如:)上传文件夹中的文件132d439bb31ee13daaf6ce02e223738f。我希望节点将文件上传到具有给定名称的给定目录中。我怎样才能做到?这是我的代码:

0 投票
1 回答
1755 浏览

node.js - Node.js 无法识别新模块

[在 Windows 上工作,使用节点 0.10.5]

我正在尝试使用强大的 node 模块构建一些简单的东西。我在全球范围内安装了它-

现在,模块已正确安装到上述目录,但节点无法识别它:

现在,我的问题是:

  1. 强大是不是因为版本不被认可?
  2. 如果不是,它未被识别的原因可能是什么?
  3. 如果是这样,除了降级节点或等待新的强大版本之外,我能做些什么吗?