[英]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.