Swift_Attachment - 如何获取附件路径

Swift_Attachment - how to get path of the attachment file

使用 Swift_Attachment API 我可以获得文件名 getFilename() 但我找不到获取文件完整路径的方法。

我正在使用 Laravel 5.5 和 this email_log library 但需要修改它以便文件不存储在数据库中。

我使用 Swift_Message->getChildren() 找到了附件,里面有

-body: Swift_ByteStream_FileByteStream { 
  ...
  -path: "/root/path/to/my/file"
  ...
}

如果我可以将 -body 作为 Swift_ByteStream_FileByteStream 实例,那么我可以使用 here 中的 getPath(),但我不知道该怎么做。

决定存储附件中的文件而不是路径中的文件,因为我找不到提取路径的方法。

    $messageId = strtok($message->getId(), '@');
    foreach ($message->getChildren() as $child) {
        $attachmentPath = 'email_log_attachments/' . $messageId . '/' . $child->getFilename();
        Storage::put($attachmentPath,$child->getBody());
    }