2016-09-16 49 views
1

我一直在嘗試從數據中獲取文件,該文件應該是可讀的。從GuzzleHttp,getContents(GuzzleHttp Psr7 Response)的亂碼數據寫入文件

以下是使用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。

回答

0

您需要用read()替換getContents。

這爲我工作:

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