Why does a PUT request require x-www-form-urlencoded and not work with form-data?
我正在尝试从PUT请求中检索数据。
目前我使用以下代码:
1 |
但这似乎只支持x-www-url-encoded,而不是标准的表单数据,是否有我错过的解决方法?
如果是任何添加,我对我的API的所有请求都设置了以下标题:
1 2 3 4 5 |
如果需要更多信息我可以提供它,不太确定还有什么可能影响这个?
提前干杯,
杰米
我发现了这个,它提供了很好的额外背景(我自己很好奇):
PUT与POST
这不是特定于PUT - POST遇到同样的问题。
当PHP解析
这给我带来了很多问题!
不幸的是,唯一的解决方法是将文件的内容作为表单数据的一部分提交,可能是base64编码的(因此它不必对所有二进制数据进行urlencode)。 这是一个麻烦,但遗憾的是,这是处理这种特殊情况的唯一方法......
在PHP上存在一些问题。
https://bugs.php.net/bug.php?id=55815
另一方面,正如他们在那里所说,PUT不是上传文件的正确方法。
这是一个关于在Symfony Framework中解决问题的讨论。
https://github.com/symfony/symfony/pull/10381#issuecomment-36726684