簡體   English   中英

如何使用 Laravel/PHP 下載 Office 365 郵件附件文件

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM