将file upload到sails中res.forbidden错误

我在节点/帆中遇到了一个奇怪的问题,而且很难排除故障。 我可以通过上传表单上传小的xls文件,但是大的文件不会处理/上传,这是一个简单的testing,当通过一个小文件(500-1000行)时,它处理得很好,我得到控制台日志。 一个大的(20,000行)文件正在上传。

我的表单看起来像这样:

<div class="row col-xs-12"> <form id="uploadForm" enctype="multipart/form-data" action="/utility/test_req" method="post"> <label for="Parse Through Row" class="control-label">Parse</label> <input type="text" name="num_rows" /> <input type="file" name="csv_file" /> <input type="hidden" name="_csrf" value="<%= _csrf %>" /> <input type="submit" class="btn btn-default" value="Upload CSV"/> </form> </div> 

我的控制器看起来像这样:

 test_req: function (req, res, next){ console.log("here"); console.log(req.params.all()); res.redirect('/utility/migration') }, 

_crsf标记移动到_crsf顶部,我相信input字段是按浏览器的顺序发送的,因此,按照相同的顺序通过sailsparsing。 csrf令牌是时间限制的,所以在获得无效之前,你会得到一个短的使用窗口,那么如果你有一个大文件,首先你的文件被处理(或文件),当sails完成后,它会parsing你的令牌,为时已晚。

 <form> <input type="hidden" name="_csrf" value="<%= _csrf %>" /> // The rest of the inputs here, including the file input. <input type="submit" class="btn btn-default" value="Upload CSV"/> </form> 

它应该现在工作:)

这是一个csrf问题。 全局禁用csrf允许通过更大的文件访问控制器操作。 我不确定这是否是一个configuration问题(可能)或csrf或sails(不太可能)的错误。