我正在将RESTFull api添加到我的网站,并且我需要更新我的工具,在哪里也需要更新图片。 我的问题就像PUT请求一样
/**
* @Rest\Put("/tools/{id}")
*
* @param Request $request
*/
public function editToolAction($id, Request $request)
symfony仅使用Content_type
application/x-www-form-urlencoded
解析数据,因此我可以从请求中获取数据,这适用于字符串等。
$parameters = $request->request->all();
但是要发送文件,我需要标题为:
content-type:"multipart/form-data; boundary....
$parameters = $request->request->all();
$files = $request->files->all();
但是对于多部分标题,我同时获得parameters
和files
的空值
对于@Rest \ POST,它运行正常
即时通讯在客户端上不起作用,因此我无法将请求从PUT更改为POST,有任何想法如何解决?
站点正在使用symfony 3.4。 ,PHP 7.2。 ,FOSRestBundle,FOSOAuthBundle .....检查其是否正常工作
答案 0 :(得分:0)
PHP将自动为您解析20ms
并将结果放入application/form-data
中。 Symfony可能只是从该超级全局读取以填充$_FILES
函数的结果。
但是,PHP仅针对->files()
请求执行此操作。由于您使用的是POST
,因此PHP不会解析它,而Symfony可能不会公开它。
如果symfony没有应用程序/表单数据解析器的用户级实现,则应在composer上找到一个。