0

我需要解析一个 POST 请求,特别是它的参数。我理解它的方式是请求的主体包含形式的参数列表key1=value&key2=value或其他数据,如上传的文件。有没有办法确定我得到了什么(参数或文件数据)?

一个快速的解决方案可能是正则表达式,但文件也可能包含以下形式的数据key1=value&key2=value

谢谢!

4

1 回答 1

5

有没有办法确定我得到了什么(参数或文件数据)?

是的,但不是来自身体。您需要阅读请求标头Content-Type

如果是Content-Type: multipart/form-data,则您已经获得了可以包含文件数据的复杂 MIME 多部分语法。

如果是Content-Type: application/x-www-form-urlencoded,则您已获得类似查询字符串的参数。

如果它是其他东西(例如application/json),您有一个自定义 POST 请求被其他东西触发,而不是直接提交表单,在这种情况下,由您决定该格式是什么。

于 2012-12-29T11:43:46.383 回答