SailsJS:调用req.param()和req.file()时,POST请求无法正确解析

时间:2014-08-20 13:15:56

标签: javascript html node.js http sails.js

我使用PostMan来测试我的控制器,它使用req.param()和req.file()从POST请求中读取数据。 奇怪的是,我提交的参数的顺序很重要。例如,

案例1:

file: some file attached
property1: 1

文件将被正确解析,而property1不会(未定义)。

案例2:

file: some file attached
property1: 1
property2: 2

req.param('property2')将为第一个请求返回1(是,1,没有拼写错误),并为后续请求返回未定义。

案例3:

property1: 1
file: some file attached

这样,一切正常。

是预期的行为还是错误? Thx提前。

2 个答案:

答案 0 :(得分:3)

使用Skipper(Sails中的文件上传系统),您需要在file参数之前发送所有文本参数。示例中的案例三应该是您始终发送请求的方式。有关更多信息,请参阅Skipper文档:

https://github.com/balderdashy/skipper#text-parameters

答案 1 :(得分:0)

req.param()用于PATH参数。我猜你试图在这里发布数据,所以你应该使用req.body('key')