如何通过节点访问此请求中的formData?

时间:2015-08-14 04:49:17

标签: node.js http express request body-parser

我正在使用此代码发出请求:

 Request {
  url: 'http://localhost:10002/asset/upload'
  method: 'POST'
  formData:
    filename: fileName
    code: imageCode
    type: 'raw'
    event_id: eventId
    file: fs.createReadStream(filePath)
    slug: "testing-the-stuff"

在我的快递申请中,我有一条这样的路线:

  app.post "/asset/upload", (req, res, next) ->
    assetController.upload req, res, next  

一个看起来像的控制器:

exports.upload = (req, res, next) ->
  console.log req.body
  res.json 'upload'

一切正常并且没有失败,但身体总是空的?我不确定我是否有不同的方式来访问"formData"

供参考我正在使用bodyparser

1 个答案:

答案 0 :(得分:0)

我在一些研究后发现,bodyparser无法处理多部分表单数据。要解决这个问题,我只需用busboy-body-parser替换bodyparser

busboyBodyParser = require('busboy-body-parser')
app.use busboyBodyParser()

这个库似乎将bodyparsers普通形式解析与busboys处理多部分formdata和文件的能力结合起来。

https://www.npmjs.com/package/busboy-body-parser