从GuzzleHttp,getContents(GuzzleHttp \ Psr7 \ Response)的乱码数据中写入文件

时间:2016-09-16 07:52:57

标签: php guzzle

我一直在尝试的是从数据中获取一个应该是可读的数据。

以下是使用Google Drive API的一行。

$result = $this->service->files->export("ID", 'mimeType', array(
        'alt' => 'media'))
          ->getBody()
          ->getContents();

$result获取GuzzleHttp\Psr7\Response的对象。这最初是一个可读的Google.doc文件。但是,$result是乱码,我用var_dump()确认了它。

有没有人知道将GuzzleHttp\Psr7\Response个对象转换(或恢复)为可读文件? 另外,如果您想要将已恢复的$result保存为doc,pdf或任何其他主要格式,我将不胜感激。

仅供参考:我使用的是Laravel 5,它有GuzzleHttp。

1 个答案:

答案 0 :(得分:0)

您需要将readContents替换为read()。

这对我有用:

$file = $service->files->export($request->id, 'application/pdf', array('alt' => 'media' ));
$size = $file->getBody()->getSize();
$content = $file->getBody()->read($size);