[英]how to download office 365 mail attachment file using laravel/PHP
我正在使用 Microsoft 图形 API 来获取 Office 365 邮件。 我收到了来自 API 调用的所有电子邮件,但我不知道如何从消息对象中保存附件。 如何将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_encoded contentBytes,我们需要将contentBytes转换为base64_decode格式。所以你必须将base64_decoded内容写入文件。
$content=base64_decode($attachment_data->getcontentBytes(),true);
file_put_contents(public_path(). "/sample/".$attachment_data->getname(),$content);
// download code
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.