这个问题在这里已有答案:
我正在向我的网站添加RESTFul 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();
但对于multipart标头,我得到parameters
和files
的空值
对于@Rest \ POST,这是完美的
即时通讯不在客户端工作,所以我无法将请求从PUT更改为POST,任何想法如何解决?
网站正在使用symfony 3.4。 ,PHP 7.2。 ,FOSRestBundle,FOSOAuthBundle,....检查它是否正常使用Postman
PHP将自动为您解析application/form-data
并将结果放在$_FILES
中。 Symfony可能只是从超级全局读取来填充->files()
函数的结果。
但是,PHP只会为POST
请求执行此操作。由于你使用的是PUT
,PHP不会解析它,Symfony可能不会公开它。
如果symfony没有应用程序/表单数据解析器的用户态实现,您应该在composer上找到一个。