Laravel 5 如何使用laravel/PHP下载office 365邮件附件文件

Laravel 5 如何使用laravel/PHP下载office 365邮件附件文件,laravel-5,office365,microsoft-graph-api,Laravel 5,Office365,Microsoft Graph Api,我正在使用Microsoft graph API获取office 365邮件。我收到了API调用的所有电子邮件,但我不知道如何从message对象保存附件。如何将contentBytes保存到文件 Microsoft\Graph\Model\Message Object ( [_propDict:protected] => Array ( [@odata.context] => https://graph.microsoft.com/v1.0/$metada

我正在使用Microsoft graph API获取office 365邮件。我收到了API调用的所有电子邮件,但我不知道如何从message对象保存附件。如何将
contentBytes
保存到文件

Microsoft\Graph\Model\Message Object
(
  [_propDict:protected] => Array
  (
    [@odata.context] => https://graph.microsoft.com/v1.0/$metada
    [@odata.type] => #microsoft.graph.fileAttachment
    [@odata.mediaContentType] => application/pdf
    [id] => AAMkADM4MDYwMDkxLWRmN2UtNDJmMC04NDEwLTljZmQ2N2I4Zjc5NABGAAAAAAAix7kDZj2fRq
    [lastModifiedDateTime] => 2016-04-18T09:44:53Z
    [name] => 1 ) Muhammad Abdullah New.pdf
    [contentType] => application/pdf
    [size] => 104767
    isInline] =>
    [contentId] => C#$F3@eurprd06.prod.outlook.com
    [contentLocation] => 
    [contentBytes] => JVBERi0xLjUNJeLjz9MNyuFJFtfTffYSTIgCjUwNSAwIG9iag08PC9MaW
  )
)

最后我得到了一个解决方案。我们从Graph API中获取base64_编码的contentBytes,我们需要将contentBytes转换为base64_解码格式。因此,您必须将base64_解码的内容写入文件

$content=base64_decode($attachment_data->getcontentBytes(),true);
file_put_contents(public_path(). "/sample/".$attachment_data->getname(),$content);
// download code

最后我得到了一个解决方案。我们从Graph API中获取base64_编码的contentBytes,我们需要将contentBytes转换为base64_解码格式。因此,您必须将base64_解码的内容写入文件

$content=base64_decode($attachment_data->getcontentBytes(),true);
file_put_contents(public_path(). "/sample/".$attachment_data->getname(),$content);
// download code