gpt4 book ai didi

node.js - 当 Content-Type 为 text/csv 时 Sails.js 正文内容

转载 作者:太空宇宙 更新时间:2023-11-04 00:52:54 25 4
gpt4 key购买 nike

我需要做一些特殊的事情来处理带有文本 Content-TypePOST 请求吗?

我需要处理 text/csv 但当我到达 Controller 中的方法时,看起来 Sails.js 试图将正文解析为 JSON:

postStuff: function(req, res) {
sails.log.info("postStuff")
sails.log.info(req.body)
sails.log.info(req.headers['content-type']);
...etc...

给我:

info: postStuff
info: {}
info: text/csv

我发现有关 bodyParser 中间件的文档有点晦涩。

FWIW,我还尝试在请求中将 Content-Type 设置为 text/plain,但无济于事。

我还尝试显式添加文本 bodyParser 作为中间件,但这似乎没有任何效果:

http.js

module.exports.http = {
bodyParserText: require('body-parser').text(),
middleware: {
order: [
'startRequestTimer',
'cookieParser',
'session',
'myRequestLogger',
'bodyParser',
'bodyParserText',
'handleBodyParserError',
'compress',
'methodOverride',
'poweredBy',
'$custom',
'router',
'www',
'favicon',
'404',
'500'
],
...etc...

最佳答案

哇,事实证明这很容易......但由于缺乏框架的反馈,调试起来非常困难。

https.js 中,新中间件的元素必须位于 middleware 元素内...如果当然有意义的话:

module.exports.http = {
// NOT HERE
// bodyParserText: require('body-parser').text(),
middleware: {
// HERE
bodyParserText: require('body-parser').text(),
order: [
'startRequestTimer',
'cookieParser',
'session',
'myRequestLogger',
'bodyParser',
'bodyParserText',
'handleBodyParserError',
...etc...

如果 sails.js(express?)发出警告,那就太好了,因为我假设它找不到 bodyParserText

关于node.js - 当 Content-Type 为 text/csv 时 Sails.js 正文内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31486663/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com