我有一个端点,它从我的应用程序的订阅服务接收更新(使用第三方API)。这些作为帖子发送给我。我不知道如何获得我尝试过的内容。
这是收到的每个文件都有唯一生成的数字
已上传的文件 更新:update1389874969000.json(application / json)
我试过这段代码 -
$request = $this->getRequest();
$request->request->get('updates');
//不会收到错误但不会获得任何数据 或
$request = $this->getRequest();
$request->files->get('updates');
get '/tmp/php0oJ2oP' which doesn't mean anything to me
任何想法如何解析这个json数据,谢谢
答案 0 :(得分:1)
public function postAction(Request $request)
{
$personData = json_decode($request->getContent(),true);
确定。所以你没有收到json作为内容。相反,正在上传一个json文件。
您获得的/ tmp / php0oJ2oP实际上是您上传文件的路径。您可以使用
读取并转换为php数组 $data = json_decode(file_get_contents('/tmp/php0oJ2oP'),true);
当然,每次上传都会获得不同的tmp路径,因此请从请求中提取路径。
有关文件上传的更多信息,请访问:http://symfony.com/doc/current/reference/forms/types/file.html
但你真正需要的只是tmp路径。