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());
}
使用 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());
}