有没有办法在解析文件之前访问multipart / form-data POST中的非文件字段?

时间:2014-11-27 17:00:36

标签: node.js file-upload express

我正在编写一些中间件来处理我的应用程序的图像上传(用Node.js编写)。我正在使用多方模块,事情进展顺利,但我遇到了一个问题。在解析表单之前,我正在尝试访问已包含在请求中的某些字段(以便我可以执行一些验证)。从我发现的示例中,multipart / form-data POST中包含的字段仅在解析表单后才可用。有没有办法在解析文件之前访问文件上载请求中包含的非文件字段?

我认为这样做的最好方法是包含一些客户标题。这是最好的解决方法吗?如果对字段的验证失败,我想避免上传文件的费用。

我正在使用构建在Express之上的Loopback框架,如果这有任何区别的话。

提前感谢您的帮助和感恩节快乐!

1 个答案:

答案 0 :(得分:1)

通常,执行此操作的方法是将非文件字段放在文件字段之前。至少HTML表单按照它们在DOM中的顺序提交字段。

我不确定什么模块环回用于解析表单,但是例如busboy按照它在请求中看到的顺序将字段传递给你(不保存任何内容到磁盘或缓冲内存中的整个文件)。 / p>