代码之家  ›  专栏  ›  技术社区  ›  EmmanuelBeziat

多部分/表单数据未接收到REST post信息

  •  1
  • EmmanuelBeziat  · 技术社区  · 8 年前

    application/json 作为一种内容。

    但现在我需要发送一个图像和内容,所以我切换到 multipart/form-data 对于特定路线。它似乎一点也没有得到内容。

    以下是发送到我的失眠API的基本设置:

    Content with insomnia

    filename url 目前(我会处理文件本身一旦这将工作)。

    {
      "code": "Internal",
      "message": "Media validation failed: url: Path `url` is required., filename: Path `filename` is required."
    }
    

    所以它说没有任何字段内容。

    > POST /medias HTTP/1.1
    > Host: localhost:3030
    > User-Agent: insomnia/6.0.2
    > Content-Type: multipart/form-data; boundary=X-INSOMNIA-BOUNDARY
    > Accept: */*
    > Content-Length: 221
    | --X-INSOMNIA-BOUNDARY
    | Content-Disposition: form-data; name="filename"
    | test.jpg
    | --X-INSOMNIA-BOUNDARY
    | Content-Disposition: form-data; name="url"
    | https://images.test.com/test.jpg
    | --X-INSOMNIA-BOUNDARY--
    * We are completely uploaded and fine
    < HTTP/1.1 500 Internal Server Error
    < Server: TestServer
    < Content-Type: application/json
    < Content-Length: 125
    < Connection: Keep-Alive
    < Content-MD5: KI89enLnYv9oMJxg5k4MXA==
    < Date: Sun, 12 Aug 2018 22:50:31 GMT
    < Request-Id: b20babc1-9f1b-466b-af7c-13d385cd8023
    < Response-Time: 6
    * Received 125 B chunk
    * Connection #65 to host localhost left intact
    

    我的职责是:

    server.post('/medias', (req, res, next) => {
      if (!req.is('multipart/form-data')) {
        return next(
          new errors.InvalidContentError(`Expects 'multipart/form-data'`)
        )
      }
    
      let data = req.body || {}
    
      let media = new Media(data)
      media.save((err) => {
        if (err) {
          return next(new errors.InternalError(err.message))
          next()
        }
    
        res.send(201)
        next()
      })
    })
    

    console.log req.body 显示它是空的。我安慰她 req 看看数据是否可以存储在其他地方,但我什么也找不到。

    我错过了什么?提前谢谢你。

    1 回复  |  直到 8 年前
        1
  •  1
  •   EmmanuelBeziat    7 年前

    好吧,我终于用base64编码得到了它。

    推荐文章