sails.js在启用csrf的情况下上载大文件时出错

sails.js在启用csrf的情况下上载大文件时出错,sails.js,skipper,Sails.js,Skipper,我正在使用sails.js beta 0.10 对于小文件,文件上载可以正常工作,但对于大文件,会出现以下错误: error: Server Error: error: TypeError: Object #<ServerResponse> has no method 'view' at Object.forbidden (/home/mandeep/iqr/esurvey/api/responses/forbidden.js:81:19) at ServerResp

我正在使用sails.js beta 0.10

对于小文件,文件上载可以正常工作,但对于大文件,会出现以下错误:

error: Server Error:
error: TypeError: Object #<ServerResponse> has no method 'view'
    at Object.forbidden (/home/mandeep/iqr/esurvey/api/responses/forbidden.js:81:19)
    at ServerResponse.bound [as forbidden] (/home/mandeep/iqr/esurvey/node_modules/lodash/dist/lodash.js:729:21)
    at /home/mandeep/iqr/esurvey/node_modules/sails/lib/hooks/csrf/index.js:65:28
    at createToken (/home/mandeep/iqr/esurvey/node_modules/sails/node_modules/express/node_modules/connect/lib/middleware/csrf.js:82:44)
    at /home/mandeep/iqr/esurvey/node_modules/sails/node_modules/express/node_modules/connect/lib/middleware/csrf.js:48:24
    at routes.before./* (/home/mandeep/iqr/esurvey/node_modules/sails/lib/hooks/csrf/index.js:62:34)
    at routeTargetFnWrapper (/home/mandeep/iqr/esurvey/node_modules/sails/lib/router/bind.js:176:5)
    at callbacks (/home/mandeep/iqr/esurvey/node_modules/sails/node_modules/express/lib/router/index.js:164:37)
    at param (/home/mandeep/iqr/esurvey/node_modules/sails/node_modules/express/lib/router/index.js:138:11)
    at pass (/home/mandeep/iqr/esurvey/node_modules/sails/node_modules/express/lib/router/index.js:145:5) [TypeError: Object #<ServerResponse> has no method 'view']
错误:服务器错误:
错误:TypeError:对象#没有方法“视图”
在Object.forbidden(/home/mandeep/iqr/esurvey/api/responses/forbidden.js:81:19)
在ServerResponse.bound[被禁止](/home/mandeep/iqr/esurvey/node_modules/lodash/dist/lodash.js:729:21)
at/home/mandeep/iqr/esurvey/node_modules/sails/lib/hooks/csrf/index.js:65:28
在createToken(/home/mandeep/iqr/esurvey/node_modules/sails/node_modules/express/node_modules/connect/lib/middleware/csrf.js:82:44)
at/home/mandeep/iqr/esurvey/node_modules/sails/node_modules/express/node_modules/connect/lib/middleware/csrf.js:48:24
在routes.before./*(/home/mandeep/iqr/esurvey/node_modules/sails/lib/hooks/csrf/index.js:62:34)
在routeTargetFnWrapper(/home/mandeep/iqr/esurvey/node_modules/sails/lib/router/bind.js:176:5)
在回调时(/home/mandeep/iqr/esurvey/node_modules/sails/node_modules/express/lib/router/index.js:164:37)
at param(/home/mandeep/iqr/esurvey/node_modules/sails/node_modules/express/lib/router/index.js:138:11)
通过时(/home/mandeep/iqr/esurvey/node_modules/sails/node_modules/express/lib/router/index.js:145:5)[类型错误:对象#没有方法“视图”]

然而,如果我禁用csrf,它工作得非常好。有什么想法吗?

这可能是一个时间问题,如果上载的文件很大,
\u csrf
字段的解析速度不够快。一种可能的解决方法是在头中发送CSRF令牌,而不是使用请求参数。您可以通过将请求中的
X-CSRF-Token
头设置为CSRF令牌值来完成此操作。

另一种方法是将表单中的CSRF隐藏字段移动到文件输入上方。然后它将首先被服务器解析

@sgress454,你能解释一下如何以及在哪里设置标题吗?我在可视化/上传操作中也遇到了同样的问题。